美文网首页程序员MySQL高性能MySQL
MySQL实战 | 04 为什么要使用索引?

MySQL实战 | 04 为什么要使用索引?

作者: hoxis | 来源:发表于2018-12-10 13:10 被阅读6次

原文链接:MySQL实战 | 为什么要使用索引?

用过 MySQL 的应该都知道索引是干啥的吧,应该多少都设置过索引,但是若是问你索引是怎么实现的,你能说上来吗?

索引是什么?

MySQL 官方对索引的定义为:索引是帮助 MySQL 高效获取数据的数据结构。

在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。

索引的出现就是为了提高查询效率,就像书的目录。其实说白了,索引要解决的就是查询问题。

查询,是数据库所提供的一个重要功能,我们都想尽可能快的获取到目标数据,因此就需要优化数据库的查询算法,选择合适的查询模型来实现索引。

另外,为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间,因为索引也要随之变动。

常见查询模型

索引的实现模型有很多,这里我们先了解一下常用的查询模型。

顺序数组

顺序数组是一种特殊的数组,里面的元素,按一定的顺序排列。

顺序数组在查询上有着一定的优势,因为是有序的数据,采用二分查找的话,时间复杂度是 O(log(N))

你的关注是对我最大的鼓励!

最近搜集到传智播客 2018 最新 Python 和 Java 教程!关注本公众号,后台回复「2018」即可获取下载地址。

公众号提供CSDN资源免费下载服务!


相关文章

  • MySQL实战 | 04 为什么要使用索引?

    原文链接:MySQL实战 | 为什么要使用索引? 用过 MySQL 的应该都知道索引是干啥的吧,应该多少都设置过索...

  • 63 MySQL实战性能优化-optimizer_trace

    1,mysql索引性能优化最佳实战 2, 使用索引查询如何避免回表查询 3,为什么查询有时候加了索引也会失效? 4...

  • mysql实战45讲笔记

    mysql笔记 一、索引 (04篇)1、为什么使用 N+树? 树的高度越高,需要访问的数据块就越多,所需的读取时间...

  • mysql高级知识

    mysql高级知识系列目录 存储过程与函数 理解MySQL数据库覆盖索引 为什么 MySQL 索引要使用 B+树而...

  • 索引优化

    什么是索引?为什么要建立索引? 索引用于快速找出在某个列中有一特定值的行,不使用索引 MySQL 必须从第一条记 ...

  • MySQL索引详细介绍

    一、什么是索引?为什么要建立索引? 索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记...

  • 丁奇-MySQL实战读书笔记10

    MySQL为什么有时候会选错索引? 1:MySQL选错索引,啥意思? 我们认为使用K索引检索的速度会更快的,但是M...

  • Mysql的原理解析

    文章目录 一、mysql数据结构 二、mysql 三层架构 三、聚集索引和非聚集索引 四、为什么使用索引可以提高查...

  • 轻松优化MySQL-之索引优化1

    什么是索引?为什么要建立索引 索引用于快速找出在某个列中有一特定值的行,不使用索引MySQL必须从第一条记录开始读...

  • MySQL 细致讲解索引

    MySQL 如何正确的使用索引 真致信息技术 2019-11-13 17:46:04 学习索引,主要是写出更快的s...

网友评论

    本文标题:MySQL实战 | 04 为什么要使用索引?

    本文链接:https://www.haomeiwen.com/subject/dweicqtx.html