用id做主键和用手机号做主键,我觉得应该是这样,id自增:有序,手机号无序。我们使用MySQL,选择InnoDB引擎的时候,有且仅有一个聚焦索引,聚焦索引的逻辑顺序和物理顺序一致。所以当我们新加数据时候,我们如果采用手机号作为主键,则B+树会产生页分裂,同时会产生内存碎片,加之索引调整需要代价,所以用手机号作主键不合适。而当我们用id作主键,id自增,就没有上述问题了。 主语你回答的B+树高度更高。可能是出于每页保存的元素而言,手机号码占用空间更大。但是总体来说,B+树在MYSQL引擎里面最后的高度基本都是2-4层,IO次数基本没有什么区别。4层B+树,可存百万级别以上数据

相关推荐

牛客网
牛客企业服务