关于DATE_FORMAT踩的坑

记一个DATE_FORMAT的坑。
有一张表600w数据,CREATE_DATE为索引,执行查询某天数据sql如下
修改前: 查询不出来,巨慢。

select  *
from tbl_ec_document_2019
where DATE_FORMAT(CREATE_DATE,'%Y-%m-%d')='2020-12-03';

修改后: 走了索引,很快。

select  *
from tbl_ec_document_2019
where DATE_FORMAT CREATE_DATE>'2020-12-03' and  CREATE_DATE<'2020-12-04' ;

原因:
我们在CREATE_DATE上创建索引,而DATE_FORMAT(CREATE_DATE,’%Y-%m-%d’)会使得索引字段变为DATE_FORMAT(CREATE_DATE,’%Y-%m-%d’)这个字段,而我们数据库表中没有这个字段的索引,所以会进行全盘扫描。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值