索引:索引(Index)是帮助MySQL高效获取数据的数据结构。

索引的优点:
大大减少了服务器需要扫描的数据量
帮助服务器避免排序和临时表
将随机IO变为顺序IO


常见索引类型

B+树索引

全文索引

哈希索引

--------------------------------------------------------------------------------------------------

B+树索引

特性:所有记录节点都按照键值的大小顺序存放在同一层叶子节点上,由各叶子节点指针进行连接。

mysql索引相关

当不断增加数据,这个所插入的页会不断分裂页面。页面分裂主要分成向右分裂中间分裂。向右分裂的时候只会增加一个页面,中间分裂时会出现一些冗余叶子点。所以,尽量按照有序增加B+树。

中间分裂影响:

1,将会占用更多的磁盘空间

2,中间分裂会产生数据移动的磁盘操作,会影响插入性能

3,中间分裂会产生碎片,产生磁盘碎片。

mysql索引相关

聚集索引

聚集索引即主键。InnoDB存储引擎表是索引组织表,即表中数据按照主键顺序存放。

主键的叶子节点存储的是数据。

mysql索引相关

这是主索引和辅助索引的搜索的过程。

如果你直接搜索自增ID,那么mysql会按照绿色的步骤搜索到数据。如果你按照里面的搜索非主键,那么就会按照红色的步骤搜索到数据。所以按照自增ID 来建立索引会非常好。

联合索引

有一个最左原则。必须按照从做匹配,联合索引必须注意





相关文章: