现在的位置: 首页 > 综合 > 正文

mssql怪事:跨服务器的视图不会优化?

2013年10月11日 ⁄ 综合 ⁄ 共 385字 ⁄ 字号 评论关闭

【语句1】select * from vwABC where fid=123 需要6秒
视图vwABC其实就是 【语句2】select * from Server2.db3.dbo.vw_ABC
而直接 【语句3】select * from Server2.db3.dbo.vw_ABC where fid=123 只需要30毫秒!

希望把 where fid=123 跨服务器直接优化进Server2.db3.dbo.vw_ABC的执行,自然是有点奢望
但是既然【语句3】能很快,【语句1】优化成【语句3】应该是很简单的了

好像是【语句1】需要把Server2.db3.dbo.vw_ABC的所有结果都取本服务器再处理?
而【语句3】好像把查询条件在原服务器里执行了再仅仅返回符合的记录。。。。。

试验【语句4】select * from Server2.db3.dbo.vw_ABC(没有where,取所有记录)的确需要7秒!

抱歉!评论已关闭.