Mysql 时间Datetime 索引不生效问题
今天发现之前在使用日期索引时,通过explain发现一直不走日期索引,在网上查询了下,发现使用过程中要注意以下情况:
1、在查询数据条数约占总条数五分之一以下时能够使用到索引,但超过五分之一时,则使用全表扫描了。
2、查询条件有日期索引和其他条件的话,只有所有条件都有索引的情况下,才会走日期索引,
例如:
我建立了复合索引car_date_index: date_time,car_plate_no.
当我是用查询条件: WHERE car_plate_no='冀E8888’ and date_time<='2019-05-01 00:00:00’,如果想走car_date_index的索引,表中必须有car_plate_no字段的索引才能走,暂时没发现为啥会出现此问题,有知道可以分享下哦
对于range类型,选择性小于17%了,就会走全表扫描,而非range
赞 (0)