mysql索引个别运用什么数据构造
MyISAM运用B-Tree实现主键索引、独一索引和非主键索引。
InnoDB中非主键索引运用的是B-Tree数据构造,而主键索引运用的是B+Tree。
B+和B-(即B)是由于每个结点上的关键字不一样。一个多一个,一个少一个。
关于B+树,其结点构造与B-tree雷同,不一样的是各结点的关键字和可以具有的子结点数。如m阶B+树中,每个结点至多可以具有m个子结点。非根结点至少有[m/2]个子结点,而关键字个数比B-tree多一个,为[m/2]~m。
这两种处置索引的数据构造的不一样之处:
1。B树中统一键值不会涌现屡次,而且它有可能涌现在叶结点,也有可能涌现在非叶结点中。而B+树的键一定会涌现在叶结点中,而且有可能在非叶结点中也有可能反复涌现,以保持B+树的均衡。
2。由于B树键位置不定,且在整个树构造中只涌现一次,虽然可以节俭存储空间,但使得在插入、删除操纵复杂度显明添加。B+树比拟来说是一种较好的折中。
3。B树的查询效率与键在树中的位置有关,最大工夫复杂度与B+树雷同(在叶结点的时候),最小工夫复杂度为1(在根结点的时候)。而B+树的工夫复杂度对某建成的树是牢固的。
更多MySQL相干技术文章,请拜访MySQL数据库图文教程栏目进行学习!
以上就是mysql索引个别运用什么数据构造的细致内容,更多请关注 百分百源码网 其它相干文章!