聚簇索引和主键
发布时间:2023-05-22 13:54:14 所属栏目:MySql教程 来源:
导读:有的小伙伴搞不清楚这两者之间的关系,甚至将两者划等号,这是一个巨大的误区。
在有的数据库中,支持开发者自由的选择使用哪一个索引作为聚簇索引,但是 MySQL 中是不支持这个特性的。
在 MySQL 中,如果表本
在有的数据库中,支持开发者自由的选择使用哪一个索引作为聚簇索引,但是 MySQL 中是不支持这个特性的。
在 MySQL 中,如果表本
有的小伙伴搞不清楚这两者之间的关系,甚至将两者划等号,这是一个巨大的误区。 在有的数据库中,支持开发者自由的选择使用哪一个索引作为聚簇索引,但是 MySQL 中是不支持这个特性的。 在 MySQL 中,如果表本身就有设置主键,那么主键就是聚簇索引;如果表本身没有设置主键,则会选择表中的一个唯一且非空的索引来作为聚簇索引;如果表中连唯一非空的索引都没有,那么就会自动选择表中的隐式主键来作为聚簇索引。关于 MySQL 中表的隐式主键,松哥会在将来的文章中和大家介绍。 不过一般来说,还是建议大家自己来为表设置主键,因为隐式主键是自增的,自增的都会存在一个问题:在自增值上会存在非常高的锁竞争问题,主键的上界会称为热点数据,因为所有的插入操作都要主键自增,又不能重复,所以会发生锁竞争进而导致性能降低。 根据上面的介绍,我们可以总结出 MySQL 中聚簇索引和主键索引的关系如下: 聚簇索引不一定是主键索引。 主键索引一定是聚簇索引。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐