MySQL索引原理

2018-05-19  本文已影响21人  无善无恶

MySQL索引背后的数据结构及算法原理

数据结构:B+树

关于B-Tree有一系列有趣的性质,例如一个度为d的B-Tree,设其索引N个key,则其树高h的上限为logd((N+1)/2),检索一个key,其查找节点个数的渐进复杂度为O(logdN)。从这点可以看出,B-Tree是一个非常有效率的索引数据结构。

B+树中间节点不存储数据,只存储指针。只有叶子节点存储数据,且叶子节点之间通过指针链接,可以方便连续访问。

MyISAM引擎:非聚集索引,索引文件放在磁盘,叶节点的data域存放的是数据记录的地址。

InnoDB引擎:聚集索引,数据文件本身就是索引文件,叶节点的data域存放的保存了完整的数据记录。第二个与MyISAM索引的不同是InnoDB的辅助索引data域存储相应记录主键的值而不是地址。

MySQL索引详解

mysql的设计与优化专题(6】mysql索引攻略

理解MySQL——索引与优化

创建索引的三种操作:

索引的使用场景:

索引的类型:

上一篇下一篇

猜你喜欢

热点阅读