开发者生态
evening
MySQL中DATE()函数为何导致百万级数据查询比BETWEEN慢几十倍?
2026-07-22
1 阅读
约1分钟阅读
完美的热带鱼
字号:
在MySQL 中,为什么用 WHERE DATE(create_time) = '2026-07-22' 查询百万级数据比用 BETWEEN 慢几十倍? 我看了下DATE()写法就是全表扫,BETWEEN就走索引,但我纳闷MySQL优化器咋这么死板,不会自动把函数条件反推成范围查询。我也试过建虚拟列加索引,确实快但不想为这一个需求改表结构,还试过FORCE INDEX强制走索引,结果依然全表
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱