如果创建了数千个视图,是否会妨碍数据库性能。我的意思是在oracle中创建数千个视图有任何问题。请解释一下,因为我是这个领域的新人......我正在使用甲骨文......
答案 0 :(得分:2)
这些观点的简单存在不应该损害性能。但是,一旦这些观点开始被使用,可能会对性能产生负面影响。 Oracle试图“记住”它看到的每个语句的计划,但它通过比较源代码(SQL)来比较语句。您的数千个视图都将以不同的名称命名,因为您不能拥有多个具有相同名称的视图,因此每次使用其中一个视图时,Oracle将不得不对SQL进行全面解析,即使它是基本为
SELECT * FROM VIEW_1;
和
SELECT * FROM VIEW_2;
所有这些重新解析肯定需要一些时间。
这些观点有何不同?我认为退一步考虑其他可能性可能是一个好主意。我要问的问题包括
我不知道1和2的答案,但我有理由相信#3的答案是“是”。
祝你好运。答案 1 :(得分:0)
查看与创建它的选择一样重,但Oracle加载平衡和单选不会损害数据库。如果您有数千个并发选择,那么您可能会遇到问题。视图的数量并不重要,但它们的重要程度以及您使用它们的程度。
您实际上需要显示视图代码并告诉您实际上要执行的操作。
答案 2 :(得分:0)
Oracle视图是一个封装 复杂的查询,必须与之一起使用 关心。以下是关键事实 记住:
视图不是为了改进SQL 性能。当你需要的时候 封装SQL,你应该放置它 在存储过程中而不是 使用视图。视图隐藏了复杂性 制作它的基础查询 对于没有经验的程序员来说更容易 和最终用户制定查询。 视图可用于调优查询 提示,只要视图是 总是在适当的环境中使用。
source: Guard against performance issues when using Oracle hints and views
答案 3 :(得分:0)
如果优化器足够智能,则视图不应影响性能。我记得当Views损害性能时,其他数据库引擎的情况。与许多表现案例一样 - 我建议衡量你的具体案例。