在使用远程查询和应用 where 子句时,我对我们的 SQL 服务器的性能问题感到有些困惑。当我在本地服务器上运行查询时,会使用聚集索引搜索,但从远程情况下并非如此。
因此,在本地服务器上运行它需要 2 秒:
SELECT * FROM uv_order WHERE order_id > '0000200000'
但是从远程数据库运行这个需要 2 分钟:
SELECT * FROM RemoteServer.data.dbo.uv_order WHERE order_id > '0000200000'
这uv_order
是一个非常复杂的视图,但是由于在从本地服务器执行时使用了索引搜索,所以我不明白为什么它在运行远程查询时不能使用它。这只适用于视图的接缝,因为在桌子上做同样的事情会按预期工作。
任何想法为什么会发生这种情况以及如何“修复”它?