我是SQL查询性能增强的新手,我给出了一个任务来增强视图的性能。
这个视图定义上应用了大约20个左连接,我认为这会影响性能-在本地服务器上检索35K奇数行大约需要9秒。
提高其性能的最佳方法是什么?
发布于 2012-07-18 20:29:19
发布于 2012-07-18 20:28:07
如果看不到查询就很难说出来。提高性能的一种可能方法是为连接中涉及的列创建索引。
如果您查看查询执行计划,您应该能够看到查询的哪个部分减慢了速度。您还可以通过Database Engine Tuning Advisor运行查询,并允许顾问建议索引将产生最大差异的列。
发布于 2012-07-18 20:34:07
您将在何处使用此视图?我建议你在proc或类似的地方使用它,然后在视图的所有列之外只使用几列。其中一些连接很可能是冗余的,因为它们中的一些甚至不会影响最终结果,并且您不需要连接不必要的表。因此,最好的方法是分析该视图的使用位置、每次调用该视图时使用的列以及哪些表具有所需的列。
我建议,如果您从其他过程或类似的过程中使用此视图,则引用每个表,只使用需要的表,而不是引用视图。
https://stackoverflow.com/questions/11541279
复制相似问题