从另一个 mssql 数据库(例如 db1)查询 mssql 数据库(例如 db2)中的视图执行速度非常慢(大约 2 分钟)。db1 和 db2 驻留在同一个 sqlserver 实例中。db2 中的视图用于对其进行查询。由于某些原因,视图无法被索引。似乎在查询计划中使用索引时,实际行数和预期行数差异很大。
但是从 db2 中执行类似的查询运行正常 - 大约 5 秒。实际和预期的行数相似。
重建索引似乎没有反映执行计划的变化(从 db1 查询 db2)。
所以,我的问题是 - 为什么统计数据如此不同?从 db1 运行时,查询优化器可能看不到 db2 的统计信息吗?