【面试题话术】mysql 为什么建议 innodb 表要建一个主键?并且推荐使用整形自增主键?

mysql 为什么建议 innodb 表要建一个主键?

答:在 mysql 的数据存储中 idb 文件中,要使用一颗聚簇索引来维护一个 b+ 树保存数据,那么 mysql 在组织索引的时候,会依赖唯一id,有下列几种情况:

  1. 如果有一个主键,可以直接使用主键建索引
  2. 如果没有主键,会从第一列开始选择一列所有值都不相同的,作为索引列
  3. 如果没有选到唯一值的索引列,mysql 会帮忙建立一个隐藏列,维护一个唯一id,以此来组织索引

那么为了避免 mysql 选择索引列和建立隐藏列的性能损耗,建议手动建立一个主键。

【面试题话术】mysql 为什么建议 innodb 表要建一个主键?并且推荐使用整形自增主键?

上一篇:MvvmCross for WPF 支持子窗体显示、关闭、传参


下一篇:Remix编译合约的ABI以及ByteCode位置