原因: mysql在条件字段选择性弱,查出的结果集较大,不走索引;
比如,一张表内有1W条数据,某个字段为0的数据有9999条,为1的只有1条。这是sql筛选条件查询这个字段为0的数据,此时sql不会走索引。原因是9999条数据相比于1W条数据近乎于全表扫描,如果走索引效率反而不如全表扫描高。
解决办法 尽量避免条件字段选择性弱的查询,如果多个条件中的某个条件是这种情况且不得不用时,也不影响,比如查询某些条件下未删除的数据,且这张表内被删除数据非常少时。不用强求走索引。
条件字段选择性弱时不走索引
最新推荐文章于 2024-07-25 02:21:43 发布