2

我有一个包含数百万条记录的数据库,由于某些问题,我们计划将一些特定的表放入不同的(新)数据库中。

如果我将表放入不同的数据库(在同一台服务器上)并在当前数据库和新数据库之间应用连接,是否会影响性能(与数据库中的连接相比)?

4

3 回答 3

1

IIRC 的原始性能没有什么不同,除了查询优化器一次只适用于一个数据库中的一个表。所以你的查询变成了两个优化的查询,在后面的步骤中数据库之间的连接。在某些情况下,这可能会导致高度未优化的查询,在其他情况下没有区别

只需获得 SSD 并忘记它

于 2012-09-11T04:36:55.547 回答
0

假设所有其他事情都相同,那么我不认为多个数据库与单个数据库之间的 JOIN 本身不会导致性能损失。

但是,您的提案提出了太多变数和问题。你在做任何标准化吗?新表将如何被索引?外键?这是一个高事务服务器/数据库吗?之前和之后如何设置您的物理文件?诸如磁盘 I/O、事务日志等之类的东西都可能是一个因素。

于 2012-09-11T03:45:52.520 回答
0

不是真的,不会对性能造成影响。但是在 sql server 2008 中,您可以使用文件组来实现与您尝试通过分离表来实现相同的目的。您还可以将它们放在不同的磁盘上,这样有助于提高性能。

于 2012-09-10T14:51:02.083 回答