数据库 -> 表索引为什么使用主键+整型+自增

表索引为什么使用主键+整型+自增

  • 主键不用多说,查询效率问题

整型+自增

  • 现在的MySQL是InnoDB的数据引擎,底层是B+树
  • InnoDB必须有主键,因为整个B+树都是靠这索引来维护的,没有索引整个表就建不起来
  • 当然我们不主动加主键索引,InnoDB也会默认自己加上的
    • 让InnoDB自己加主键就会更加影响效率,要么它选择一个字段做索引,要么多加一个字段做索引
    • 它放在都要一个那我们为什么不自己定,这样也还会有上面其他效率问题
  • B+树底层也是用二分法来对树进行一层一层的查找
  • 那么索引使用整型方式,肯定会比使用uuid好,因为二分法比较大小int肯定比String比较要效率搞
    • 而且uuid所要的内存也会比int的要大
  • B+树底层会维护索引的顺序,我们按照123456的顺序自增那么索引最后都只是在最后面添加
  • 如果我们不按照自增的方式,索引突然从中间插入,会改变已经完成的索引顺序又要重新调整移动索引结构

所以创建表的时候,请使用主键+整型+自增

猜你喜欢

转载自blog.csdn.net/rod0320/article/details/123488975
今日推荐