繁体   English   中英

Oracle 数据库查询调优

[英]Oracle database query tuning

我有一个很大的 sql 查询,而且很难管理,如果我可以做任何事情,我需要什么帮助 -

将内部查询存储在变量中,并在外部查询示例中使用变量作为参考

var1 = select * from customer
var2 = select * from product
var3= select custid from var1

and finally

select a.customername,b*,c* from var1 as a, var2 as b , var3 as c  where a.custid = c.c_id and     
a.custid = b.custid 

注意我不是数据库人,我是java程序员

您可以使用 CTE(通用表表达式)来简化主查询。 例如,您的查询可以改写为:

with
a as (
  -- big complex query #1 here
),
b as (
  -- big complex query #2 here
),
c as (
  -- big complex query #3 here
)
select a.customername, b.*, c.* -- the main query starts at this line
from a
join b on b.custid = a.custid
join c on c.c_id = a.custid

主查询可以引用任何 CTE( abc )。 每个 CTE 还可以引用先前定义的 CTE; 在您的示例中,第三个可能会引用第一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM