首页 > 数据库 > mysql教程 > 参考列表的 INT 或 VARCHAR 主键:性能真的很重要吗?

参考列表的 INT 或 VARCHAR 主键:性能真的很重要吗?

Patricia Arquette
发布: 2024-12-21 12:03:10
原创
151 人浏览过

INT or VARCHAR Primary Keys for Reference Lists: Does Performance Really Matter?

INT 与 VARCHAR 主键:澄清性能问题

MySQL 中 INT 和 VARCHAR 主键之间的选择长期以来一直存在争议,特别是关于参考文献列表。虽然 INT 是传统选择,但 VARCHAR 由于能够直接呈现信息而越来越受欢迎,从而可能减少对 JOIN 的需求。

本文旨在研究使用 INT 与 VARCHAR 主键的性能影响在特定用例中:参考列表,例如美国州和国家/地区代码。

基准结果

为了评估性能差异,使用以下设置进行了一系列基准测试:

  • Intel® Core™ i7-7500U CPU @ 2.70GHz × 4
  • 15.6 GiB 内存
  • Ubuntu 16.04 64 位
  • MySQL Ver 14.14 Distrib 5.7.20

创建了两组表:INT 表和 VARCHAR 表,每个表都已索引和未索引。然后,在表中填充 1000 万行,并对每个表执行基准查询,以测量检索特定行所需的时间。

基准查询执行时间

基准查询的执行时间如下:

  • jan_int: 21.30秒
  • jan_int_index:18.79秒
  • jan_char:21.70秒
  • jan_char_index:18.85秒
  • jan_varchar:21.76 sec
  • jan_varchar_index: 18.86 sec

分析

结果表明,INT 和 VARCHAR 主键的性能差异很小,可供参考列表。无论键是否被索引,基准查询执行时间都在几百毫秒之内。

这表明使用 VARCHAR 主键减少 JOIN 的性能优势被额外的存储可变长度数据的开销。

结论

基于基准根据结果​​,可以得出结论,对于像美国州和国家代码这样的参考列表,INT 和 VARCHAR 主键之间的选择主要是一个偏好问题,而不是性能问题。性能差异可以忽略不计,其他因素,例如数据一致性和未来的可扩展性,可能会影响决策。

以上是参考列表的 INT 或 VARCHAR 主键:性能真的很重要吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板