首页  >  文章  >  数据库  >  MySQL 中的整数索引与日期时间索引:哪个对于日期范围查询更快?

MySQL 中的整数索引与日期时间索引:哪个对于日期范围查询更快?

Linda Hamilton
Linda Hamilton原创
2024-10-25 23:36:28937浏览

  Integer vs. DateTime Indexing in MySQL: Which is Faster for Date Range Queries?

MySQL 优化:整数索引与日期时间索引的性能

查询效率对于大型数据库至关重要。在 MySQL 中索引日期和时间数据时,会出现整数(“INT”)和日期时间字段之间的选择。

性能注意事项

关于性能,初始测试InnoDB 表中有 1000 万条记录,当条件基于日期范围时,INT 索引具有显着优势。即使范围很大,也可以使用 INT 来计算查询的执行速度。

测试结果

  • 计数查询:

    SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 25.02 sec
    SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 2 min 10.27 sec
  • 范围查询:

    SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 1.56 sec
    SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 8.41 sec

观察

  • 提前计算 UNIX 时间可显着提高 INT 性能。
  • 当 DateTime 和 INT 字段同时存在于同一个表中时,MySQL 似乎可以优化查询。
  • 总体而言,INT 索引对于日期范围查询来说速度更快。

以上是MySQL 中的整数索引与日期时间索引:哪个对于日期范围查询更快?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn