sql - 在多个列上使用索引

标签 sql postgresql

如果我在列(一、二、三、四、五)上建立一个 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/

相关文章:

linux - postgresql 不随 Linux 启动

postgresql - 字典单词排序列表的最佳索引

sql - 更新 DBT 中的表

python - Unpickling 来自 Psycopg2 的 bytea 列

sql - 计算销售值(value)的 10% 回扣

sql - Sequelize 过滤器嵌套包含

postgresql - 如何在 Postgres 中搜索所有多边形内的所有点

ruby-on-rails - PostgreSQL 无法连接到数据库

mysql - 将行从一个表复制到另一个表,不包括 2087 年和 2089 年出生的客户

mysql - 以下mysql代码有什么问题