聚簇索引的注意点有哪些?

本文阅读 2 分钟
首页 Mysql 正文

聚簇索引表最大限度地提高了 I/O 密集型应用的性能,但它也有以下几个限制:

  • 1、插入速度严重依赖于插入顺序,按照主键的顺序插入是最快的方式,否则将会出现页分裂,严重影响性能。因此,对于 InnoDB 表,我们一般都会定义一个自增的 ID 列为主键。

    关于这一点,可能面试官会换一个问法。例如,为什么主键需要是自增 ID ,又或者为什么主键需要带有时间性关联。
  • 2、更新主键的代价很高,因为将会导致被更新的行移动。因此,对于InnoDB 表,我们一般定义主键为不可更新。

    MySQL 默认情况下,主键是允许更新的。对于 MongoDB ,其 主键是不允许更新的。
  • 3、二级索引访问需要两次索引查找,第一次找到主键值,第二次根据主键值找到行数据。

    当然,有一种情况可以无需二次查找,基于非主键索引查询,但是查询字段只有主键 ID ,那么在二级索引中就可以查找到。
  • 4、主键 ID 建议使用整型。因为,每个主键索引的 B+Tree 节点的键值可以存储更多主键 ID ,每个非主键索引的 B+Tree 节点的数据可以存储更多主键 ID 。
本文来自投稿,不代表本站立场,如若转载,请注明出处:
如何解决分布式事务?
« 上一篇 09-17
Kubernetes组件
下一篇 » 09-25

发表评论

发表评论