请问什么是索引啊 代码中如何看出索引
感觉老师是不是没有解释索引???、、好晕
感觉老师是不是没有解释索引???、、好晕
2019-08-16
我来回答吧,索引是为了查询数据库时能快速检索到数据的一种针对Innodb存储引擎的一种数据结构。采用了B+树,该树是一种多路搜索树,通过这种数据结构可以在写/查询时达到O(lgN)的时间复杂度,因为它的树高最高为20。索引的执行原理是:普通索引的每个node节点的key值为改索引字段本身,如身份证这个字段card_no 建索引的话,6223231992xxx98就是key值,而value 的值为id索引树(id也是索引树组织,叫聚簇索引)的值,如1000001.通过card_no进行搜索时,先从card_no的树中找到 card_no=6223231992xxx9 的树节点,然后通过key获取到value = 1000001,然后进行回表(回表是指普通索引树到聚簇索引树查找数据的过程,注意:聚簇索引树的node 节点 ,如id,其key值为id的值id=1000001,vaule存储了该行所有的数据,如name,age,id,card_no等所有字段,回表就是从该行记录获取指定数据。),查到需要的数据即返回。
举报