我遇到以下问题的问题:
select *
from testtable
where user_id = 1 and color = 1 and size = 1
order by created_at desc, id desc;
我使用了两个索引
index1 (user_id, color, size)
index2 (created_at, id)
但是我在解释结果中“使用where,使用filesort”
然后我改变了索引以使用所有五列
index1 (user_id ... id)
并且“使用filesort”消失了,但我仍然“使用where”
为了完全使用此查询的索引,我应该采取哪些其他步骤?
谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
第一个索引用于where
。如果您还想使用索引进行排序,那么您需要(user_id, color, size, created_at, id)
上的索引。