【发布时间】:2021-01-08 09:18:57
【问题描述】:
我的朋友们,
目前,我被困在查询字符串上,以将 MySQL 中的日期与索引进行比较。
表中created_at 类型为TimeSTAMP,值为时间字符串。 index_name = created_ato 在同一张表上。
- 如果我尝试使用 created_at = '2020-12-21' 那么它可以使用索引,但值是空的,因为 created_at 存储在日期时间值。
- 如果我尝试使用 date(created_at) = '2020-12-21' 那么它可以返回数据但索引无法应用,所以响应时间很慢并且超时。
谁能知道它并就如何修复它给我一些建议?
非常感谢?
【问题讨论】:
-
请提供
SHOW CREATE TABLE,查询和EXPLAIN SELECT ...——“范围”并不总是坏的;让我们看看细节。 -
嗨@RickJames,看来我找到了解决方法的根本原因。原因是我们有索引,但它没有涵盖这种情况,所以我添加了更多索引以使其正常工作。