您好,匿名用户

关于InnoDB引擎,网上都是建议使用自增字段作为索引,这点可以理解,但是为什么对于MyISAM引擎,为什么没有此项建议?

0 投票

如题 对于InnoDB引擎,使用自增字段可以减少数据移位的开销,对于MyISAM,这点不适用吗?

用户头像 提问 2019年 5月29日 @ Jax 中士 (1,314 威望)
分享到:

1个回答

0 投票
 
最佳答案

这和两者的数据结构有关

  • InnoDB 是聚簇索引,主键和数据是在一起的,所有数据按照主键排序,也就是说,如果不是自增的主键,那么插入数据后还要进行排序,性能消耗较高
  • MyISAM 是非聚簇索引,数据和索引文件分开,数据排序和索引无关,所以要求没有那么高

MySQL索引背后的数据结构及算法原理

用户头像 回复 2019年 5月29日 @ Leo 中士 (1,325 威望)
选中 2019年 5月16日 @Jax

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...