我有 2 个数据库 - 都在同一台服务器上。两个数据库的文件也位于相同的驱动器上。
当我在它的本地数据库上运行查询时,它会在 3 秒内运行。
但是,当我从第二个数据库运行它时,大约需要 20 分钟!这里唯一的区别是添加到 FROM 子句的数据库名称。
我可以寻找什么来找到为什么它表现如此糟糕?统计数据会起作用吗?
该查询是TVF上的SELECT查询。不幸的是,我无法查看 TVF,因为它是第 3 方查询并且我无权访问。
我有 2 个数据库 - 都在同一台服务器上。两个数据库的文件也位于相同的驱动器上。
当我在它的本地数据库上运行查询时,它会在 3 秒内运行。
但是,当我从第二个数据库运行它时,大约需要 20 分钟!这里唯一的区别是添加到 FROM 子句的数据库名称。
我可以寻找什么来找到为什么它表现如此糟糕?统计数据会起作用吗?
该查询是TVF上的SELECT查询。不幸的是,我无法查看 TVF,因为它是第 3 方查询并且我无权访问。
问题是@Kin 建议的兼容性级别
一个数据库是 120 个,另一个是 100 个。
我更新以确保两者都是 120,现在两个数据库上的查询都很快!
https://learn.microsoft.com/en-us/sql/relational-databases/databases/view-or-change-the-compatibility-level-of-a-database
感谢大家的帮助!