7

我正在为我当前的雇主编写许多报告查询,利用 Oracle 的WITH条款允许自己创建简单的步骤,每个步骤都是面向数据的转换,它们相互依赖以执行复杂的任务。

今天引起我注意的是,过度使用该WITH子句可能会对 Oracle 服务器的资源产生负面影响。

谁能解释为什么过度使用 OracleWITH子句会导致服务器崩溃?或者指出一些我可以研究适当用例的文章?我开始WITH大量使用该子句来为我的代码添加结构并使其更易于理解。我希望在这里有一些信息丰富的回复,我可以继续有效地使用它。

如果一个示例查询会有所帮助,我将在今天晚些时候尝试发布一个。

谢谢!

4

1 回答 1

2

基于此:http ://www.dba-oracle.com/t_with_clause.htm看起来这是一种避免使用临时表的方法。然而,正如其他人会注意到的那样,这实际上可能意味着更重、更昂贵的查询,这将对数据库服务器造成额外的消耗。

它可能不会“崩溃”。这有点戏剧化。更有可能它会变慢,使用更多内存等。这对您公司的影响将取决于数据量、处理器数量、处理量(使用with或不使用)

于 2012-08-14T20:54:47.440 回答