设置:
CREATE TABLE tbl (group_id integer, id integer)
INSERT INTO tbl VALUES (1, 1)
INSERT INTO tbl VALUES (1, 2)
INSERT INTO tbl VALUES (1, 3)
INSERT INTO tbl VALUES (2, 1)
INSERT INTO tbl VALUES (2, 2)
INSERT INTO tbl VALUES (3, 1)
...
INSERT INTO tbl VALUES (999, 999999)
查询#1
SELECT * FROM tbl WHERE group_id > 1 AND group_id < 10 AND id > 100
查询#2
SELECT * FROM tbl WHERE id > 100 AND group_id > 1 AND group_id < 10
查询1与查询2之间是否存在性能差异?
更具体地说,在“较高的分辨率”列(例如group_id
)之前查询“较低的分辨率”列(例如id
)有什么优点或缺点?
(使用Postgresql)
答案 0 :(得分:0)
如果查看说明查询,您会发现where子句的顺序对查询计划,执行或性能没有影响。从PSQL的角度来看,您的查询在功能上是等效的。