sql - 可以嵌套数据库 View 吗?

标签 sql oracle plsql view

在 Oracle 的世界里,我的印象是基于其他观点的观点被认为是不好的做法。当试图解决性能问题和嵌套似乎过多并且隐藏了底层 View 中不必要的复杂性时,我自己也曾提示过这一点。现在我发现自己的处境可能不是那么明确:

我的一些用户非常特别需要一个 View 中的会计数字来匹配对它们进行进一步处理的另一个 View 中的会计数字。如果他们对其中一个进行任何更改,他们希望另一个立即反射(reflect)这一点,而无需任何人在几年内考虑这一要求,并且在他们解决问题时报告显示不匹配的数字。

在这种情况下可以嵌套 View 吗?

如果内部 View 包含另一个包含相关价格的重要 View (即您在确定价格时“总是”应该使用此 View ),这会改变事情吗?

最佳答案

嵌套 View 的主要问题是查询优化器更有可能感到困惑并产生次优计划。除此之外,在 View 上使用 View 没有特定的开销,除非它们做了优化器无法将谓词下推到的事情。

这意味着最好的选择是尝试嵌套 View 。查看您是否从报告中获得了合理的查询计划。如果它确实引起问题,那么您可能必须重新考虑您的策略。

关于sql - 可以嵌套数据库 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494749/

相关文章:

database - 有什么方法可以在 PL/SQL 中为开发应用 TDD 技术

mysql - 可以使用 COUNT 查询吗?

sql - 如何在 SQLPlus 或 PL/SQL 中制作菜单?

c# - ORA-06502 : PL/SQL: numeric or value error: character string buffer too small exception from C# code

oracle - 在循环中创建 Oracle 表

sql - 将数据从行合并到列

php - 我有一个客户表,想要从提交表中查找重复的条目并将其显示在新字段的客户表中

java - 在远程计算机上使用java运行sql文件

oracle - Liquibase:为新数据库添加变更集

sql - 避免在具有多个条件的 If 语句中进行硬编码