ordered_predicates¶
用在查询中,确定谓词条件按照用户书写的顺序排序。
举例:
-- 清理环境
DROP TABLE a CASCADE;
-- 创建表
CREATE TABLE a(a1 INT, a2 INT,a3 INT);
insert into a values(4,4,9);
insert into a values(3,3,9);
insert into a values(2,5,9);
insert into a values(2,2,9);
insert into a values(4,4,9);
insert into a values(3,3,9);
insert into a values(2,5,9);
insert into a values(2,2,9);
-- 使用ordered_predicates
explain select /*+ ordered_predicates*/ * from a where mod(a2, 2) > 1 and mod(a3, 3) = 0;
QUERY PLAN(text)
----------------------
Seq Scan on A (cost=0.00..171.84 rows=14 width=12)
Filter: (("MOD"(A2, 2) > 1) AND ("MOD"(A3, 3) = 0))
总数目:2
-- 不使用ordered_predicates
explain select * from a where mod(a2, 2) > 1 and mod(a3, 3) = 0;
QUERY PLAN(text)
----------------------
Seq Scan on A (cost=0.00..171.84 rows=14 width=12)
Filter: (("MOD"(A3, 3) = 0) AND ("MOD"(A2, 2) > 1))
总数目:2
-- 删除表
DROP TABLE a CASCADE;