簡體   English   中英

用於in和order by子句的MySQL索引

[英]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);

包括nameusername name以覆蓋SELECT * ,這需要所有列。

對於第二個查詢,您可以嘗試:

CREATE INDEX idx2 ON user (salary, company, name, username);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM