[英]MySQL index for in and order by clause
我有一張有欄的桌子
user (id, name, username, company, salary)
這兩個查詢的最佳索引策略是什么
select * from user where company in ("a", "b") order by salary limit 20
和
select * from user order by salary limit 20
最好是index(company, salary)
。 考慮到索引的順序很重要。
您可以為第一個查詢嘗試以下覆蓋索引:
CREATE INDEX idx1 ON user (company, salary, name, username);
包括name
和username
name
以覆蓋SELECT *
,這需要所有列。
對於第二個查詢,您可以嘗試:
CREATE INDEX idx2 ON user (salary, company, name, username);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.