【发布时间】:2014-07-18 07:11:51
【问题描述】:
我是 postgresql(和一般的 SQL)的新手,我现在最关心的是优化。下面我有一个简单的查询。但是我相信这只是一个查询。但是,也可能只有 3 个查询(那些存在新的联合全部的查询)。或者实际上可能是 6 个查询,因为实际上有 6 个 select 语句。
with foo as (
select * from tableA
), bar as (
select * from tableB
), zeta as (
select * from tableC
)
select * from foo
union all
select * from bar
union all
select * from zeta
上面的查询有多少个查询?
还有……
这个问题很重要的原因是,我不知道我是应该像上面那样写我的查询还是简单地将所有查询分开。
select * from tableA; --query 1
select * from tableB; --query 2
select * from tableC; --query 3
【问题讨论】:
-
在 psql 中,"explain
" 将向您显示有多少序列扫描、索引扫描等。针对您的复合查询和三个单独的查询尝试它,并比较它们。跨度>
标签: postgresql