当前位置: 首页 > 面试题库 >

表与视图的性能

燕凯旋
2023-03-14
问题内容

最近开始使用一个数据库,其中的约定是为每个表创建一个视图。如果您假设表和视图之间存在一对一的映射,那么我想知道是否有人可以告诉我这样做的性能影响。顺便说一句,这是在Oracle上。


问题答案:

假设问题是关于非具体化视图的,那么-
确实取决于该视图所基于的查询以及对其执行的操作。有时,谓词可以由优化器推入视图查询中。如果不是这样,那将不如表格本身好。视图建立在表格之上-
为什么您期望性能会更好?

对视图进行分层(在一个视图之上构建一个视图)是一种不好的做法,因为您要等到运行时才能知道问题。在分层视图中进行谓词推送的可能性也较小。

视图也可以更新-如果某人对基​​础表具有INSERT / UPDATE / DELETE特权,则它们不是限制访问资源的可靠方法。

物化视图与表一样好,但是众所周知,它们的支持范围受到限制。



 类似资料:
  • 问题内容: 我有使用WITH子句几个查询或公用表表达式,用UNION ALL语句来描述与SQL服务器的树形结构通过表再次出现在这里。如果我创建相同的VIEW而不是将它包含在WITH子句中,并在每次运行查询时生成它,我会在性能上有所不同吗?因为在多个查询中使用视图,所以实际上创建视图通常被认为是一种好的做法吗? 问题答案: 您正在查看的是Common Table Expression,而不是View

  • 问题内容: 我在JSF1.2和Richfaces 3.3.2中构建了一个树分页,因为我有很多树节点(大约80k),而且速度很慢。 因此,作为首次尝试,我将创建一个带有页面和页面节点列表的HashMap。 但是,性能还不够好… 所以我想知道是否是比HashMap更快的东西,也许是列表列表之类的东西。 有人对此有经验吗?我能做什么? 提前致谢。 编辑。 最大的问题是,我必须在树的子节点中验证用户的权限

  • 我正在使用两个MjpegView(扩展表面视图的自定义视图)构建一个应用程序。问题是有时我看不到第一个摄像机视图后面的第二个摄像机视图。流媒体工作没有任何问题,我试图改变布局内摄像机视图的位置,但没有任何成功,也试图带到前面(第二个摄像机)。 这是它自己的布局的代码, 谢谢

  • 问题内容: 我有一张约有100,000个用户的表。 第一种情况: 当我为上述查询做一个解释计划时,我得到的费用为5200 第二种情况: 当我对第二个查询做一个解释计划时,我得到的费用为100,000。 视图中的where子句如何工作?在视图检索所有行之后是否应用where子句?如何解决此问题? 问题答案: 这是关于已使用的视图算法的。 该 合并 算法行之有效最表的索引和诸如此类的东西-的 不是Te

  • 14.5. 视图与视图解析 所有web应用的MVC框架都有它们处理视图的方式。Spring提供了视图解析器供你在浏览器显示模型数据,而不必被束缚在特定的视图技术上。Spring内置了对JSP,Velocity模版和XSLT视图的支持。 第 15 章 集成视图技术这一章详细说明了Spring如何与不同的视图技术集成。 ViewResolver和View是Spring的视图处理方式中特别重要的两个接口

  • RequestToViewNameTranslator接口可以在逻辑视图名未被显式提供的情况下,决定一个可用的逻辑视图View名。 DefaultRequestToViewNameTranslator能够将请求URL映射到逻辑视图名上去,如下面代码例子所示: public class RegistrationController implements Controller { publi