首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提高具有许多左连接的视图的性能

提高具有许多左连接的视图的性能
EN

Stack Overflow用户
提问于 2012-07-18 20:24:15
回答 3查看 1.3K关注 0票数 0

我是SQL查询性能增强的新手,我给出了一个任务来增强视图的性能。

这个视图定义上应用了大约20个左连接,我认为这会影响性能-在本地服务器上检索35K奇数行大约需要9秒。

提高其性能的最佳方法是什么?

EN

回答 3

Stack Overflow用户

发布于 2012-07-18 20:29:19

  1. 考虑您是否需要左连接,而不是内连接。由于对涉及的数据一无所知,我们不能给你这个。
  2. 对您的查询运行执行计划。
  3. 标识索引可以提高性能的联接。
  4. 考虑对数据库设计进行反规范化。
票数 1
EN

Stack Overflow用户

发布于 2012-07-18 20:28:07

如果看不到查询就很难说出来。提高性能的一种可能方法是为连接中涉及的列创建索引。

如果您查看查询执行计划,您应该能够看到查询的哪个部分减慢了速度。您还可以通过Database Engine Tuning Advisor运行查询,并允许顾问建议索引将产生最大差异的列。

票数 0
EN

Stack Overflow用户

发布于 2012-07-18 20:34:07

您将在何处使用此视图?我建议你在proc或类似的地方使用它,然后在视图的所有列之外只使用几列。其中一些连接很可能是冗余的,因为它们中的一些甚至不会影响最终结果,并且您不需要连接不必要的表。因此,最好的方法是分析该视图的使用位置、每次调用该视图时使用的列以及哪些表具有所需的列。

我建议,如果您从其他过程或类似的过程中使用此视图,则引用每个表,只使用需要的表,而不是引用视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11541279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档