您的位置:首页 > 数据库 > MySQL

1 mysql索引的实现原理

2017-11-04 00:00 1091 查看
mysql 使用B+Tree作为索引实现,并在叶子结点增加了顺序访问指针。

红黑树等数据结构也可以用来实现索引,但是文件系统及数据库系统普遍采用B-/+Tree作为索引结构

目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构。跟磁盘IO读写有关。

MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。

MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。

MyISAM的索引方式也叫做“非聚集”的,之所以这么称呼是为了与InnoDB的聚集索引区分。

InnoDB的数据文件本身就是主键的索引文件,叶子结点保存的是数据。所以InnoDB必须有pk,MyISAM可以没有pk。

辅助索引叶子结点存储相应记录的主键,所以主键查询最快,非主键索引查出来的数据是主键,再用主键查找最终数据。
http://blog.csdn.net/debug_zhang/article/details/52168552 https://www.cnblogs.com/luyucheng/p/6289714.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: