我在卫星办公室,需要从我们的主办公室提取一些数据,以便在我们的内联网上显示。我们在两个地方使用MS SQL Server,我们计划在指向主办公室的卫星办公室中创建一个链接服务器。两者之间的连接是我认为的VPN隧道(听起来不错吗?我知道什么,我是程序员!)
我担心在可能很慢的连接中产生大量流量。我们将访问主办公室服务器上的SQL视图。一旦选择查询运行,它不是很多数据(~500条记录),但是没有查询的视图很大(~30000条记录)。
我假设在链接服务器上运行查询将仅通过线路返回结果(而不是在本地查询的整个视图)。在这种情况下,主要的瓶颈很可能是连接本身,假设视图已编制索引等。是否还有其他问题或潜在的瓶颈(可能基于我构建查询的方式)我应该注意什么?
答案 0 :(得分:2)
根据您的解释,您的连接可能是瓶颈。
此外,您还可以考虑在卫星位置缓存数据
决定将取决于以下内容:
- 主数据库中有多少行和数据更新的次数
- 您需要在卫星位置加载相同数据集的频率
两个优势示例:
数据是静态的或相对静态的 - 仅在主DB中插入。在卫星定位中,用户经常一次又一次地查询相同的数据。在这种情况下,在卫星位置本地缓存数据是有意义的。
数据不稳定,有很多更新或/和删除。卫星位置的用户很少查询数据,当他们这样做时,在条件的情况下总是不同。在这种情况下,缓存没有意义。如果连接速度很慢且经常发生变化,您最终可能永远不会与主数据库同步。
缓存的另一个优点是可以实现数据压缩,这将减轻慢速连接的不良影响。
如果您选择在本地位置缓存,则有很多选项,但我认为这是另一个主题。
<强> [编辑] 强>
关于压缩:您可以使用压缩事务日志传送。在SQL 2008中,仅在Enterprise Edition中支持压缩。在SQL 2008 R2中,它可以从标准版开始使用。 http://msdn.microsoft.com/en-us/library/bb964719.aspx。
您可以在使用任何您喜欢的压缩库发送事务日志之前实现自定义压缩。