我试图让这个查询使用索引。
explain SELECT SQL_NO_CACHE * FROM products WHERE (stock_disabled = 1 OR negative_stock_allowed = 1 OR stock > 0)
这就是它的回报:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE p ALL multi_index NULL NULL NULL 2890 Using where
multi_index是一个包含stock_disabled,negative_stock_allowed和库存的相同顺序。我认为由于多个OR语句,索引无效。我能在这做什么?
答案 0 :(得分:0)
"使用指数foo"如果你明确想要使用索引
SELECT * FROM products USE INDEX(`multi_index`)