300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql的表是聚集索引组织表_Mysql的Innodb引擎索引总结

mysql的表是聚集索引组织表_Mysql的Innodb引擎索引总结

时间:2019-06-01 20:37:16

相关推荐

mysql的表是聚集索引组织表_Mysql的Innodb引擎索引总结

索引的目的是什么?

答:数据库添加索引的目的是为了加快查询速度。

索引的的数据结构是什么?

答:(这里的B是balance)B+树来存储索引,B+树类似于二叉树。

B+树是怎么查找数据的?

答:B+树索引并不能找到一个给定值的具体行。B+树索引能找到的只是被查询数据行所在的页。然后数据库通过页读入到内存,再在内存中进行查找,最后得到要查找的数据。

什么是B+树

答:B+树是为磁盘或其他直接存取辅助设备设计的一种平衡查找树。在B+树中,所以记录点都按照值的大小顺序存放在同一层的叶子节点上,由各叶子节点指针进行链接。

聚集索引的定义(每张表只能有一个聚集索引)

答:聚集索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的即为整张表的行记录,也将聚集索引的叶子节点称为数据页。聚集索引的这个特性决定了索引组织表中数据也是索引的一部分(因为存储是按照KEY-VALUE这样存储)。每个数据页都通过双向链表进行链接。

聚簇索引和非聚簇索引

答:将数据存储与索引放到了一块,找到索引也就找到了数据。将数据存储于索引分开结构,索引结构的叶子节点指向了数据的对应行,myisam通过key_buffer把索引先缓存到内存中,当需要访问数据时(通过索引访问数据),在内存中直接搜索索引,然后通过索引找到磁盘相应数据,这也就是为什么索引不在key buffer命中时,速度慢的原因

辅助索引(非聚集索引)

答:辅助索引,叶子节点并不包含行记录的全部数据

联合索引

答:就是对表中的多个字段添加索引。联合索引也是一颗B+树,只不过联合索引的叶子节点存储的字段是大于等于2。联合索引的第二个好处是已经对第二个键值进行了排序处理。

覆盖索引

答:辅助索引中就可以得到查询的记录,而不需要查询聚集索引的记录(意思就是不用回表了)。覆盖索引是联合索引的最优情况。

最左前缀原则

索引下推

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。