【发布时间】:2015-02-10 12:53:55
【问题描述】:
我在同一个 SQL Server 实例中有两个数据库 DB1 和 DB2。这是两个数据库的结构
DB1
表A:
[key] Id int
[required] Name nvarchar(50)
DB2
表B:
[key] Id int
[required] Total real
[required] IdTableA int // Foreign key
在 DB1 中我也有一个观点:
表格视图:
select * from DB2.dbo.TableB
现在我运行以下查询
select Total
from DB1.TableBView
where Total > 100
我想知道SQL引擎是否:
- a) 首先运行视图定义的查询(返回所有行和所有列)b) 然后选择行 Total > 100 em> 或
- 它正在将 where 语句直接应用于 View 的查询,并且它只从 View 的查询中返回列 Total?
【问题讨论】:
-
@KHeaney 感谢您的链接!它们非常有用。
标签: sql-server