Sql &引用;加上;oracle查询中的子句优化

Sql &引用;加上;oracle查询中的子句优化,sql,oracle,oracle10g,query-optimization,Sql,Oracle,Oracle10g,Query Optimization,当我在查询中使用many WITH子句时,它执行的时间更长,而不是没有它。 查询结构如下: with t1 as (select some_fields from table1 inner join table2), t2 as (select some_fields from t1 inner join table3), t3 as (select some_fields from t2 inner join table4) select * from t3 应该使用什么

当我在查询中使用many WITH子句时,它执行的时间更长,而不是没有它。 查询结构如下:

with t1 as (select some_fields from table1 inner join table2),
     t2 as (select some_fields from t1 inner join table3),
     t3 as (select some_fields from t2 inner join table4)
select * from t3
应该使用什么方法来优化类似的查询?
在我的例子中,每个子查询返回大约1000万行。

考虑到所有涉及的保密性,我建议您查看这两个查询。在我看来,WITH只不过是语法糖,它允许您在子查询中重用某些sql。但总的来说,它是有用的,它并不总是导致最有效的计划


是的,10000总是很慢的

考虑到所有涉及的保密性,我建议您查看这两个问题。在我看来,WITH只不过是语法糖,它允许您在子查询中重用某些sql。但总的来说,它是有用的,它并不总是导致最有效的计划


是的,10000总是很慢的

我确认WITH子句不会提高Oracle数据库中的性能。 它只允许使用查询名称,而不允许重复整个查询文本


此外,它还允许定义PL/SQL函数,以便随后在查询中使用。

我确认WITH子句不会提高Oracle数据库中的性能。 它只允许使用查询名称,而不允许重复整个查询文本


此外,它还允许定义PL/SQL函数,以便随后在查询中使用。

这取决于查询!为了支持您,请发布您的查询!如果您有不同版本的查询(带和不带
with
子句),请全部发布!对于这种说法,你有什么选择,哪一种更快?请你也发吧!通常情况下,对于Oracle数据库,无论是否使用
WITH
子句,都没有区别!我无法根据策略执行此操作(.Thank,试着了解我自己为什么不在这些表之间执行联接?例如:从t2内部联接表4中选择一些_字段,这取决于查询!为了支持您,请发布您的查询!如果您有不同版本的查询(带和不带
with
子句)把它们都贴出来!你有什么比这句话更快的选择吗?请你也贴出来好吗!通常对于Oracle数据库来说,如果你使用
WITH
子句与否没有区别!我不能根据政策来做(.谢谢,试着了解我自己为什么不在这些表之间进行联接?例如:从t2内部联接表4中选择一些_字段