由于业务需要,需要使用between and 查询数据,
在查询数据条数约占总条数五分之一以下时能够使用到索引,但超过五分之一时,则使用全表扫描了。速度极慢。
解决办法(联合索引+强制使用索引)
文章来源:https://www.toymoban.com/news/detail-632024.html
文章来源地址https://www.toymoban.com/news/detail-632024.html
EXPLAIN
SELECT DISTINCT
vrd.vehicle_id,
DATE_FORMAT( vrd.start_time, '%Y-%m-%d' ),
bv.license_plate_number
FROM
vehicle_runing_duration vrd
FORCE INDEX ( index_time_id ) #强制使用索引
LEFT JOIN basic_vehicle bv ON vrd.vehicle_id = bv.id
WHERE
vrd.start_time BETWEEN "2022-08-01 00:00:00"
AND "2022-09-03 00:00:00"
ORDER BY
bv.license_plate_number
到了这里,关于关于使用BETWEEN AND 使索引失效的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!