我正在使用Oracle的WITH
子句为我当前的雇主编写许多报告查询,以允许自己创建简单的步骤,每个步骤都是面向数据的转换,它们相互构建以执行复杂的任务。
今天我注意到,过度使用WITH
子句可能会对Oracle服务器的资源产生负面影响。
有人可以解释为什么过度使用Oracle WITH
子句会导致服务器崩溃吗?或者指出一些我可以研究适当用例的文章?我开始大量使用WITH
子句来为我的代码添加结构并使其更容易理解。我希望在这里有一些信息性的回答,我可以继续有效地使用它。
如果示例查询有用,我会尝试今天稍后发布。
谢谢!
答案 0 :(得分:2)
基于此:http://www.dba-oracle.com/t_with_clause.htm看起来这是一种避免使用临时表的方法。但是,正如其他人会注意到的,这实际上可能意味着更重,更昂贵的查询会给数据库服务器带来额外的负担。
它可能不会“崩溃”。这有点戏剧性。更可能的是它会变慢,使用更多的内存等。这对公司的影响将取决于数据量,处理器数量,处理量(使用with
或不使用)