您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

bubuko 2022/1/25 20:09:48 mysql 字数 1186 阅读 948 来源 http://www.bubuko.com/infolist-5-1.html

避免使用字符串类型作为标识列: 消耗空间。 比数字类型慢(MyISAM 中对字符串使用压缩索引,查询会慢)。 对于 MD5()、UUID() 生成的随机字符串,这些值会分布在很大的空间内,导致 insert、select 语句变慢: insert 会随机写入不同位置,使得 insert 慢;导致页分 ...

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

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

 

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

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

 

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

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


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶