最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PostgreSQL子查询优化详解
时间:2022-06-29 10:21:28 编辑:袖梨 来源:一聚教程网
1.2.2 PostgreSQL
1.2.2.1 S6 语句
查看查询执行计划,子查询被优化(采用物化的方式,使得子查询结果被缓存,既子查询只执行一次)。
postgres=# EXPLAIN SELECT * FROM t3 WHERE b3 >= ANY (SELECT b1 FROM t1);
Nested Loop Semi Join (cost=0.00..41707.39 rows=680 )
Join Filter: (t3.b3 >= t1.b1)
-> Seq Scan on t3 (cost=0.00..30.40 rows=2040 )
-> Materialize (cost=0.00..40.60 rows=2040 )
-> Seq Scan on t1 (cost=0.00..30.40 rows=2040 )
1.2.2.2 S7 语句
查看查询执行计划,子查询被优化(采用半连接)。
postgres=# EXPLAIN SELECT * FROM t3 WHERE b3 >= ANY (SELECT a1 FROM t1);
Nested Loop Semi Join (cost=0.15..377.82 rows=680 )
-> Seq Scan on t3 (cost=0.00..30.40 rows=2040 )
-> Index Only Scan using t1_a1_key on t1 (cost=0.15..12.08 rows=680 )
Index Cond: (a1 <= t3.b3)
1.2.2.3 S8 语句
查看查询执行计划,子查询被优化(采用半连接)。
postgres=# EXPLAIN SELECT * FROM t3 WHERE b3 <= SOME (SELECT a1 FROM t1);
Nested Loop Semi Join (cost=0.15..377.82 rows=680 )
-> Seq Scan on t3 (cost=0.00..30.40 rows=2040 )
-> Index Only Scan using t1_a1_key on t1 (cost=0.15..12.08 rows=680 )
Index Cond: (a1 >= t3.b3)
1.2.2.4 S9 语句
查看查询执行计划,子查询被优化。
postgres=# EXPLAIN SELECT * FROM t3 WHERE b3 = SOME (SELECT a1 FROM t1);
Hash Semi Join (cost=55.90..103.00 rows=1020 )
Hash Cond: (t3.b3 = t1.a1)
-> Seq Scan on t3 (cost=0.00..30.40 rows=2040 )
-> Hash (cost=30.40..30.40 rows=2040 )
-> Seq Sc
相关文章
- PPT排版耗时3小时,Copilot如何缩短到3分钟 09-21
- AI 生成代码引发越权事故:普通账号导出全部订单的根因复盘 09-21
- 为 DeepSeek Harness 接入“编程大脑”:本地认知层实现 0 Token 命中 09-21
- 让 AI 生成代码更易维护的五项实用原则 09-21
- PHP 开源框架22个简单简介 09-21
- Copilot如何从订单增长中识别交付风险 09-21