1

在同一物理机器上的另一个数据库中进行选择时是否会影响性能?所以我在同一个 SQL 2008 实例中运行的同一台物理机器上有 2 个数据库。

例如在 SomStoreProc on_this_db 我运行

SELECT someFields FROM the_other_db.dbo.someTable

到目前为止,从我在互联网上阅读的内容来看,大多数人似乎都表示否。

4

1 回答 1

1

即使它不会影响性能,也可能是数据完整性问题,因为 FK 无法跨数据库强制执行。

但是,您的 proc 更有可能需要进行调整,尤其是在它们有数千行长的情况下。首先查找游标、相关子查询和错误索引。还要查找不可分割的 where 子句和逐行运行的标量函数。

当然,证明单独的数据库不是问题的最佳方法是采用一个慢速过程并将这些表转换为一个数据库并测试两种方式的性能。请至少说服他们在他们继续对一个数据库进行极其复杂且耗时的更改之前进行这个较小的测试,然后发现他们仍然存在性能问题。

请记住,执行计划是您的朋友正在查看这些内容。

于 2011-01-18T17:56:05.637 回答