我有两个SQL2k5数据库:一个包含大量的静态数据(SQL数据库1)(从未更新但频繁插入)和一个持有关系数据(SQL数据库2)与静态数据相关。主要是因为企业准则和业务要求而分开:假设将以下问题组合起来并不实际。数据在两个数据库中,渴望假脱机导致查询
SQLDB2中有一些地方会引用SQLDB1中的PK;触发器控制参照完整性,因为跨数据库关系在SQL Server中很麻烦。但是,由于SQLDB1中的数据量很大,我从SQLDB2中引用SQLDB1中的数据的Id中加入的查询中收到了急切的假脱机。 ?(跟我到目前为止也许一个例子有助于:)
SELECT t.Id, t.Name, t2.Company
FROM SQLDB1.table t INNER JOIN SQLDB2.table t2 ON t.Id = t2.FKId
此查询结果的渴望阀芯这是查询的负载的84%; SQLDB1中的表有35M行,所以它完全阻塞了这个查询。我无法在SQLDB1的表上创建视图并将其用作我的FK /索引;它不希望我根据视图创建约束。
任何人有任何想法如何我可以解决这个巨大的瓶颈? (把静态数据放在第一个分贝中:相信我,我认为,直到我在面对蓝色无济于事。)
谢谢!
武神
编辑:也不能创建一个索引视图,因为你不能把SCHEMABINDING上引用其视图所在的数据库之外的表的视图。该死的。
编辑2:添加索引提示使得零差异。