Mysql时间范围查询不走索引问题?
1 个回答
勇敢一点吧!我们不会比今年更年轻了。澜夜师兄用Mysql进行数据查询时,如果在SQL语句中出现范围查询,类似如下语句: ```sql select * from logs where create_time >= '2020-01-01' ; ``` 此时,虽然在create_time字段上添加了索引,但是否会走索引还需要看数据量的情况。 如果根据查询条件查询到数据的结果数量小于总数量的五分之一,则会走索引,否则会走全表扫描。 因此,在进行范围查询时,比如>、< 、>=、<=等,如果数据量过大的话where语句的条件虽然添加了索引,但也有可能会进行全表扫描。所以,在查询时查询的范围要考虑进行限制或其他方式进行拆分。 当然,上面的五分之一只是一个大概的临界值,不同的场景,不同的数据量,该值可能会更小,比如10%以下。发布于 2022-03-01 17:03 •IP属地 天津举报评论收藏
公众号进入网站体验更佳

