在product_comment表中, 我们给comment_time字段创建了索引。请问执行下面查询的时候,
索引是否会失效?如果失效,应该怎样重写?
SELECT * FROM product_comment
WHERE DATE(comment_time) >= '2018-10-01 10:00:00' AND comment_time <= '2018-10-02 10:00:00'
答:
会失效,因为对索引字段使用了聚合函数
可以改为
SELECT * FROM product_comment
WHERE comment_time >= '2018-10-01 10:00:00' AND comment_time <= '2018-10-02 10:00:00'
【JDBC-索引失效】Ps:重写的语句可以使用explain查看type,判断是否使用索引。数据量过少不会使用,数据量过大也会全局查找