mhe*_*all 0 sql-server execution-plan sql-server-2008-r2 view
我有一个视图,其中涉及 20 多个表上的 LEFT JOINS 到基表,但是在查询此视图并查看执行计划时,我得到了完全出乎意料的结果。
例如,对于下面的查询,我希望在表上进行聚集索引查找:
SELECT id FROM dbo.TableName WHERE id = 256
Run Code Online (Sandbox Code Playgroud)
而当我使用视图时,我会在表上找到聚集索引以及 3 个嵌套循环(左外连接)。
SELECT id FROM dbo.ViewName WHERE id = 256
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况?上面是一个非常简单的例子,但是当从视图中选择额外的列时,越来越多的不必要的 LEFT JOINS 出现在执行计划中。
归档时间: |
|
查看次数: |
321 次 |
最近记录: |