赞
踩
三种:
答:如果建表的时候指定了主键,则会有聚簇索引,如果表没有创建主键那么在表的内部也会有一个隐式的主键,这么做的目的是为了更好的帮你管理,所以也是有的
在b+树中,每一个页作为一个节点,而页的存储大小是固定的,在innodb中,页的默认大小是16kb,而在b+树中,非叶子节点是不存储数据的,只存储键值(key),因为页的大小是固定的,如果不存储数据,就可以存储更多的key,那么树的阶就会变大,树就会变的矮而盘,树的深度就会变少,这样查询的时候对硬盘的io次数就会变少,查询效率也就会变快
在存储原理上,两者都是用b+数实现的,不过非聚簇索引多了一个回表的操作,也就是在根节点存储的不是行数据,而是主键的值,等查询到主键的值还需要再对主键的b+数进行查找,才能最终返回数据。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。