查看与实体视图
视图和实体视图(Mviews)是两种类型的Oracle数据库对象。这两个对象都请参考选择查询。这些选择的查询充当虚拟表。通常,视图和mviews参考具有一组连接的大型查询。因此,视图的主要优点之一是,我们可以将复杂的选择查询作为视图存储。因此,我们可以从最终用户中隐藏选择查询背后的逻辑。当我们需要执行复杂的选择语句时,我们必须执行
从ViewName选择 *
看法
如前所述,视图是一个虚拟表,它隐藏了选择查询。这些选择的查询未预先执行。当我们从视图中执行Select语句时,它将执行视图主体内部的选择语句。让我们将视图主体的选择语句作为一个非常复杂的语句。因此,执行时,执行时间需要一些时间(相对较大的时间)。此外,View使用很小的空间来存储自身。那是因为它只有一个选择语句作为其内容。
实体视图(Mview)
这是一种特殊的视图。当我们遇到视图的性能问题时,会创建mviews。当我们创建Mview时,它将执行其选择查询并将其输出存储为快照表。当我们从Mview请求数据时,它无需重新执行其选择语句。它从其快照表提供了输出。因此,mview的执行时间少于视图(对于相同的选择语句)。但是,Mviews不能一直使用,因为它显示了相同的输出,该输出被存储为快照表。我们应该刷新Mview以获取其最新结果集。
有什么区别查看和mview? 1. Mview在创建其创建时始终将其输出作为快照表存储,但视图不会创建任何表。 2.视图不需要大空间来存储其内容,但是Mview需要比存储内容的视图相对较大的空间(作为快照表)。 3.视图需要更大的执行时间,但是Mview的执行时间比视图(对于同一选择语句)。 4.需要刷新mviews才能获取其最新数据,但视图始终提供其最新数据。 5.模式需求“创建实体视图”特权创建mviews,为了视图,它需要“创建视图”特权。 6.可以在Mviews上创建索引以获得更多的性能,但是在视图上不能创建索引。 |
发表评论