我有一个带有列的表
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
答案 0 :(得分:0)
成为index(company, salary)
很高兴。考虑到索引的顺序很重要。
答案 1 :(得分:0)
您可以为第一个查询尝试以下覆盖索引:
CREATE INDEX idx1 ON user (company, salary, name, username);
包含name
和username
列以覆盖SELECT *
,这需要所有列。
对于第二个查询,您可以尝试:
CREATE INDEX idx2 ON user (salary, company, name, username);