EXPLAIN两条sql,区别如下,GetTicketTime有索引,是datetime 类型:
1、【WHERE GetTicketTime>='2017-06-02 14:25:35' 】Extra:Using index condition; Using MRR; Using temporary; Using filesort
2、【WHERE GetTicketTime>='2017-06-02 14:25:34' 】Extra:Using where
这是为啥?
大于等于34秒的记录有40010条,大于等于35秒的记录有40000条,相差只有10条。
似乎35秒是个分界点,小于这个的,都跟34的情况一样,大于的,都跟35的一样。
这种情况mysql优化器会根据你当前的数据量决定是否走索引
请问能不能手动控制呢?或者是优化方法,运行结果是0.6秒跟25秒的区别。
@大树v587: 这是因为 表数据大部分都在这个范围,mysql就不会使用索引,进行全表扫描,跟性别字段不适合做索引一样的道理