将视图从一个模式移动到另一个模式是否会对性能产生不利影响?视图中的跨模式查询是否对Oracle产生了性能影响?
我在一个模式中有大约40个视图。我想创建一个具有所有正确权限的新模式。假设TableA驻留在模式A中,所以我的视图将在模式A中。所以我只会简单地使用select * from TableA
。现在我将这个视图移动到模式B.由于表在模式A中,我需要做select * from A.TableA
。这种跨架构查询会导致任何性能问题吗?
将视图从一个模式移动到另一个模式是否会对性能产生不利影响?视图中的跨模式查询是否对Oracle产生了性能影响?
我在一个模式中有大约40个视图。我想创建一个具有所有正确权限的新模式。假设TableA驻留在模式A中,所以我的视图将在模式A中。所以我只会简单地使用select * from TableA
。现在我将这个视图移动到模式B.由于表在模式A中,我需要做select * from A.TableA
。这种跨架构查询会导致任何性能问题吗?
这不是您可能从性能评估开始的地方。
实际视图的SQL是比模式你把它放在可能更重要
编辑:
,其视图所在应该不会影响性能。 (除了如何在模块和数据文件之间布置模式)
我不确定我的观点是否会出现。我在一个方案中有大约40个观点。我想创建一个具有所有正确权限的新计划。代码将会执行,因为我们会测试它。假设TableA驻留在schemeA中。所以我的观点将在schemeA中。所以我只会简单地从TableA中选择*。现在我将这个观点转移到SchemeB。由于该表位于SchemeA中,因此我需要执行Select * FROM SchemeA.TableA。这会导致任何性能问题?据我所知,答案是否定的。只是想确认。谢谢。 –
如果它不是物化视图,它应该对性能影响很小。
我认为这个问题需要更多的细节才能有意义。 –
如果用户在新模式上没有正确的权限,它将会产生相当严重的效果! – Ollie
@DaveCosta:OP在评论中提供了详细信息,我在(也是's/scheme/schema/g'中编辑了它们) – derobert