mysql 时间索引无效_MYSQL时间范围查询索引失效

在MySQL中,时间范围查询时并非总是使用时间字段上的索引。当查询范围涉及的数据量接近全表数据时,MySQL可能会选择全表扫描而非使用索引。通过对不同查询条件的explain分析,发现数据分布不均匀时,即使数据占比不高,也可能触发全表扫描。优化建议是避免在区分度低的字段上建立索引。
摘要由CSDN通过智能技术生成

近期在做一个报表监控的项目,主要的查询条件就是时间,每天导入数据库的数据大概几万条,页面的查询范围最多限制在1个月,算下来1个月的数据量最多有300w,功能开发完后自己做了100多万的测试数据,并在作为查询条件的时间字段上加了索引,但是测试时发现并不是每次用时间范围查询的时候都会走索引。

表结构:

CREATE TABLE vehicle_revision_redelivered (

id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',

thermosphere varchar(45) DEFAULT NULL COMMENT '温层',

order_submit_time datetime DEFAULT NULL COMMENT '下单时间',

collect_service varchar(45) DEFAULT NULL COMMENT '揽收服务',

delivery_service varchar(45) DEFAULT NULL COMMENT '派送服务',

expect_pickup_start_time datetime DEFAULT NULL COMMENT '预计揽件起始时间',

expect_pickup_end_time datetime DEFAULT NULL COMMENT '预计揽件结束时间',

expect_delivered_time datetime DEFAULT NULL COMMENT '应妥投时间时间',

sys_redelivered_time datetime DEFAULT NULL COMMENT '系统操作再投时间',

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值