在 Oracle 的世界里,我的印象是基于其他观点的观点被认为是不好的做法。当试图解决性能问题和嵌套似乎过多并且隐藏了底层 View 中不必要的复杂性时,我自己也曾提示过这一点。现在我发现自己的处境可能不是那么明确:
我的一些用户非常特别需要一个 View 中的会计数字来匹配对它们进行进一步处理的另一个 View 中的会计数字。如果他们对其中一个进行任何更改,他们希望另一个立即反射(reflect)这一点,而无需任何人在几年内考虑这一要求,并且在他们解决问题时报告显示不匹配的数字。
在这种情况下可以嵌套 View 吗?
如果内部 View 包含另一个包含相关价格的重要 View (即您在确定价格时“总是”应该使用此 View ),这会改变事情吗?
最佳答案
嵌套 View 的主要问题是查询优化器更有可能感到困惑并产生次优计划。除此之外,在 View 上使用 View 没有特定的开销,除非它们做了优化器无法将谓词下推到的事情。
这意味着最好的选择是尝试嵌套 View 。查看您是否从报告中获得了合理的查询计划。如果它确实引起问题,那么您可能必须重新考虑您的策略。
关于sql - 可以嵌套数据库 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494749/