如果我在列(一、二、三、四、五)上建立一个 btree 索引 它将用于带有 where block 的查询:
(1) ... WHERE one = 1 AND two = 2 AND three = 3 AND four = 4 -- no five
或
(2) ... WHERE two = 2 AND one = 1 -- wrong sequence, no five
或
(3) ... WHERE one = 1 AND three = 3 AND two = 2 AND five = 5 AND four = 4 -- wrong sequence
最佳答案
在您的所有情况下是的,因为数据库通常不会担心 WHERE 子句中语句的顺序。 但是,它不太可能被使用
WHERE two = 2 AND three = 3 -- no one
因为 one 是你索引的第一个组成部分,但没有出现在你的 where 子句中
关于sql - 在多个列上使用索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264351/