再有人问你为什么MySQL用B+树做索引,就把这篇文章发给她
我们可以一向找到键值为22的数据,然后页8中就没稀有据了,此时我们必要拿着页8中的p指针去读取页9中的数据。
那么查找到此终止。 最终我们找到满意前提的全部数据为: (18,kl),(19,kl),(22,hj),(24,io),(25,vg),(29,jk),(31,jk),(33,rt),(34,ty),(35,yu),(37,rt),(39,rt)。 总共12笔记录。 下面看下详细的查找流程图: 操作非聚积索引查找数据 读者看到这张图的时辰也许会蒙,这是啥对象啊?怎么都是数字。 假若有这种感受,请细心看下图中红字的表明。什么?还看不懂?那我再来表明下吧。起首,这个非聚积索引暗示的是用户荣幸数字的索引(为什么是荣幸数字?一时鼓起想起来的:-)),此时表布局是这样的。 在叶子节点中,不在存储全部的数据了,存储的是键值和主键。 对付叶子节点中的x-y,好比1-1。左边的1暗示的是索引的键值,右边的1暗示的是主键值。假如我们要找到荣幸数字为33的用户信息,对应的sql语句为select * from user where luckNum=33。 查找的流程跟聚积索引一样,这里就不具体先容了。我们最终会找到主键值47,找到主键后我们必要再到聚积索引中查找详细对应的数据信息,此时又回到了聚积索引的查找流程。 下面看下详细的查找流程图: 在MyISAM中,聚积索引和非聚积索引的叶子节点城市存储数据的文件地点。 总结 本篇文从二叉查找树,具体声名白为什么mysql用B+树作为数据的索引,以及在innodb中数据库怎样通过B+树索引来存储数据以及查找数据。我们必然要记着这就话:数据即索引,索引即数据。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |