首页 > 数据库技术 > 详细

MySQL 避免使用字符串类型作为标识列

时间:2020-02-27 20:17:38      阅读:31      评论:0      收藏:0      [点我收藏+]

标签:microsoft   family   随机字符串   ont   sql   数字   

避免使用字符串类型作为标识列:

  • 消耗空间。
  • 比数字类型慢(MyISAM 中对字符串使用压缩索引,查询会慢)。

 

对于 MD5()、UUID() 生成的随机字符串,这些值会分布在很大的空间内,导致 insert、select 语句变慢:

  • insert 会随机写入不同位置,使得 insert 慢;导致页分裂、磁盘随机访问、对于聚簇索引引擎还会产生索引碎片。
  • select 会慢,逻辑上相邻的行分布在磁盘、内存的不同位置。
  • 随机值会使缓存效果变差,缓存的访问局部性原理失效;内存太小,导致频繁刷新、不命中。

 

MySQL 避免使用字符串类型作为标识列

标签:microsoft   family   随机字符串   ont   sql   数字   

原文:https://www.cnblogs.com/miaooooo/p/12373846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号