如何为以下查询订购多列索引?
SELECT *
FROM example_table
WHERE a=3 AND b=4
AND c=5 ORDER BY d, e;
我假设我想创建一个带有a,b,c,d,e顺序的索引:
CREATE INDEX example_index
ON example_table (a, b, c, d, e);
但是,我应该先将列中的顺序放在索引中吗?
CREATE INDEX example_index
ON example_table (d, e, a, b, c);
答案 0 :(得分:0)
你想要第一个表格:
CREATE INDEX example_index ON example_table (a, b, c, d, e);
如果必须扫描整个索引以找到您感兴趣的行WHERE
子句,则索引首先按所需的输出顺序排序是没有意义的过滤器。