我的仓库数据集市数据分布在同一台服务器上的 3 个数据库中。这是一个概念验证项目,其中包含三个已加载到各个数据库中的数据提取。
在拉入立方体时,我实际上是在这样做:
SELECT * FROM DB1.dbo.Fact_Pres
UNION
SELECT * FROM DB2.dbo.Fact_Pres
UNION
SELECT * FROM DB3.dbo.Fact_Pres
我真的应该将数据整合到一张表中吗?这会让我的处理速度更快吗?
我对磁盘空间没有任何问题 - 我想实现最佳解决方案。
无论哪种情况,您能帮我理解为什么您建议的方法是最佳的吗?
最佳答案
考虑使用 SQL Server 的一流分区来联合您的表(而不是自己动手)。如果您总是选择每个数据点,那么也许是的,拉出多个磁盘会更快。
但是为什么有多个数据库呢?您总是可以将三张表堆叠成一张表,但要在三个一起进行 RAID 的驱动器上实现该一张表。如果您追求的是速度,这是一个更明确的解决方案。
只有当你选择了集合中特定的相邻部分时,联合才有意义。但是根据您的 OP,您选择了所有内容,因此消除了这种好处。
关于sql - 跨数据库联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1826130/