Sql server 2005 两个数据库中的数据,导致查询
我在SQL2k5中有两个数据库:一个保存大量静态数据(SQL数据库1)(从未更新但经常插入),另一个保存与静态数据相关的关系数据(SQL数据库2)。它们之间的分离主要是因为公司的指导方针和业务需求:对于以下问题,假设将它们结合起来是不实际的 SQLDB2中有引用SQLDB1中PKs的地方;触发器控制引用完整性,因为跨数据库关系在SQL Server中很麻烦。但是,由于SQLDB1中有大量的数据,我对从引用SQLDB1中数据的SQLDB2中的Id连接的查询进行了大量的假脱机处理。(到目前为止,我想举个例子会有所帮助:) 这个查询会产生一个占查询负载84%的即时假脱机;SQLDB1中的表有3500万行,因此它完全阻塞了这个查询。我无法在SQLDB1中的表上创建视图并将其用作我的FK/索引;它不希望我基于视图创建约束 有人知道我如何解决这个巨大的瓶颈吗?(除了把静态数据放在第一个db中之外:相信我,我一直在争论这个问题,直到我脸色发青都没有用。) 谢谢 瓦尔基里 编辑:也不能创建索引视图,因为不能将schemabinding放在引用视图所在数据库之外的表的视图上。该死Sql server 2005 两个数据库中的数据,导致查询,sql-server-2005,performance,Sql Server 2005,Performance,我在SQL2k5中有两个数据库:一个保存大量静态数据(SQL数据库1)(从未更新但经常插入),另一个保存与静态数据相关的关系数据(SQL数据库2)。它们之间的分离主要是因为公司的指导方针和业务需求:对于以下问题,假设将它们结合起来是不实际的 SQLDB2中有引用SQLDB1中PKs的地方;触发器控制引用完整性,因为跨数据库关系在SQL Server中很麻烦。但是,由于SQLDB1中有大量的数据,我对从引用SQLDB1中数据的SQLDB2中的Id连接的查询进行了大量的假脱机处理。(到目前为止,我想
编辑2:添加索引提示没有任何区别。如果其他人遇到这个问题,我没有很好的解决方案。但我最后不得不做的是将一些有限的重复数据放入目标数据库中,以便完全绕过即时假脱机
SELECT t.Id, t.Name, t2.Company
FROM SQLDB1.table t INNER JOIN SQLDB2.table t2 ON t.Id = t2.FKId