INT 与 VARCHAR 主键:澄清性能问题
MySQL 中 INT 和 VARCHAR 主键之间的选择长期以来一直存在争议,特别是关于参考文献列表。虽然 INT 是传统选择,但 VARCHAR 由于能够直接呈现信息而越来越受欢迎,从而可能减少对 JOIN 的需求。
本文旨在研究使用 INT 与 VARCHAR 主键的性能影响在特定用例中:参考列表,例如美国州和国家/地区代码。
基准结果
为了评估性能差异,使用以下设置进行了一系列基准测试:
创建了两组表:INT 表和 VARCHAR 表,每个表都已索引和未索引。然后,在表中填充 1000 万行,并对每个表执行基准查询,以测量检索特定行所需的时间。
基准查询执行时间
基准查询的执行时间如下:
分析
结果表明,INT 和 VARCHAR 主键的性能差异很小,可供参考列表。无论键是否被索引,基准查询执行时间都在几百毫秒之内。
这表明使用 VARCHAR 主键减少 JOIN 的性能优势被额外的存储可变长度数据的开销。
结论
基于基准根据结果,可以得出结论,对于像美国州和国家代码这样的参考列表,INT 和 VARCHAR 主键之间的选择主要是一个偏好问题,而不是性能问题。性能差异可以忽略不计,其他因素,例如数据一致性和未来的可扩展性,可能会影响决策。
以上是参考列表的 INT 或 VARCHAR 主键:性能真的很重要吗?的详细内容。更多信息请关注PHP中文网其他相关文章!