执行语句,发现仓储表wh_warehouse全表扫描
EXPLAIN
SELECT
*
FROM
wh_inbound_order_detail e
LEFT JOIN wh_warehouse ww
ON ww.id = e.warehouse_id
WHERE ww.isGs = 0
AND ww.is_jiancai = 0
明明有索引的啊,为什么呢?只有主键索引的时候没没匹配到,那么干脆在创建个联合索引吧,没想到还是没匹配到。
执行语句,发现仓储表wh_warehouse全表扫描
EXPLAIN
SELECT
*
FROM
wh_inbound_order_detail e
LEFT JOIN wh_warehouse ww
ON ww.id = e.warehouse_id
WHERE ww.isGs = 0
AND ww.is_jiancai = 0
明明有索引的啊,为什么呢?只有主键索引的时候没没匹配到,那么干脆在创建个联合索引吧,没想到还是没匹配到。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
数据库是否使用索引是有机制的,不是百分百都使用索引。
使用索引之前会判断,到底有没有必要使用索引,但是具体是什么情况不走索引我没有深入了解过,我的猜测是当判断使用索引的速度更慢时,如果你的表里面只有几十几百条数据,完全没有必要去调用索引。
如果要强制使用索引:
select * from table force index(index_name)