SQL:与其他方法相比,在单个“ id”之前查询“ group_id”是否更好?

时间:2019-06-05 19:07:32

标签: sql postgresql

设置:

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)

1 个答案:

答案 0 :(得分:0)

如果查看说明查询,您会发现where子句的顺序对查询计划,执行或性能没有影响。从PSQL的角度来看,您的查询在功能上是等效的。