- 2
- 0
- 约2.38万字
- 约 21页
- 2017-06-03 发布于湖北
- 举报
MySQL索引背后的数据结构及算法原理
摘要
转 自张洋的博客
本文以MySQL数据库为研究对象 ,讨论与数据库索引 关的一些话题。特别需要说明的是 ,MySQL支持诸多存储引
擎 ,而各种存储引擎对索引的支持也各不 同 ,因此MySQL数据库支持多种索引类型 ,如BTree索引 ,哈希索引 ,
全文索引等等。为了避免混乱 ,本文将只关注于BTree索引 ,因为这是平常使用MySQL时主要打交道的索引 ,至于
哈希索引和全文索引本文暂不讨论。
文章主要内容分为三个部分。
第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。
第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆
盖索引等话题。
第三部分根据上面的理论基础 ,讨论MySQL中高性能使用索引的策略。
数据结构及算法基础
索引的本质
MySQL官方对索引的定义为 :索引 (Index )是帮助MySQL高效获取数据的数据结构。提取句子主干 ,就可以得到
索引的本质 :索引是数据结构。
我们知道 ,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快 ,因此数据库系统的
设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找 (linear
原创力文档

文档评论(0)