Mysql---索引

索引,先归纳下,种类。

主键索引,普通索引,联合索引,全文索引。

主键索引,又是唯一索引,聚簇索引(一个key带着一整条记录)。能用主键尽量用主键。面对多次查找。浪费复杂度。

普通索引,没啥特别,就一颗树。或者其他数据结构。当前索引值作为key,带着其他索引。那key的长度就是当前key的长度,空间考虑。能短尽量短。设计的好。无需再次回头查找主键索引的树。查联合即可。比如select id 那联合就搞定了

联合索引,也就是组合索引,他的出现会带来几个好处。

从左边开始匹配。可第一个模糊匹配,第二个,直接限制。联合限制。那在第一次树的查询就把符合条件的记录狠狠的锁定很少的记录,到主键那查询。

索引的实现。

索引的数据结构有树,有序数组,哈希。

数据查询不外呼就是直接匹配和模糊查询。b树非常合适。哈希适合直接定位。有序数组也合适,但是他不适合新增与删除。

新增要改变很多。删除也是。树有裂变和合并。树的层级节点个数就是读取页的大小限制的。

索引越多维护也是很麻烦。

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Mysql)