MySQL中对字段使用函数导致索引失效的问题其实很常见,大家一般都知道,但是工作中还是有很多人会犯错
比如下面这个例子,查询今天提交的订单
很多同学可能会写上面这种,实际上这种写法导致索引失效,最终全表扫描
-- 索引失效
explain select * from oms_order o where date_format( o.SUBMIT_TIME, '%Y-%m-%d' ) = date_format( NOW( ), '%Y-%m-%d' )
-- 索引有效
explain select * from oms_order o where o.SUBMIT_TIME BETWEEN curdate() AND DATE_SUB(curdate(),INTERVAL -1 DAY)
2021年11月08日 14:41:26
文章写的还可以,我基本上看完了,谢谢分享
2021年09月17日 11:43:27
文章写的还可以,我基本上看完了,谢谢分享