Sql 如何管理针对不同地区办事处的应用程序的数据库?

Sql 如何管理针对不同地区办事处的应用程序的数据库?,sql,sql-server,ado.net,Sql,Sql Server,Ado.net,我有一个Windows应用程序,它使用ADO.NET连接到SQL Server 2005数据库 我把服务器放在班加罗尔。该应用程序也需要在芝加哥使用。当我从芝加哥的个人电脑上查询数据库时,速度要慢100倍,而从班加罗尔的远程桌面上查询数据库时,速度非常快 我正在寻找一些选项,通过这些选项,我可以保持数据库的维护,使班加罗尔和芝加哥的用户能够不断更新数据,同时所有用户都能以相同的速度获得数据。正如Mike W所建议的,最大限度地减少通过网络传递的数据量; 尽量减少每次操作的事务数量(例如,如果需要

我有一个Windows应用程序,它使用ADO.NET连接到SQL Server 2005数据库

我把服务器放在班加罗尔。该应用程序也需要在芝加哥使用。当我从芝加哥的个人电脑上查询数据库时,速度要慢100倍,而从班加罗尔的远程桌面上查询数据库时,速度非常快


我正在寻找一些选项,通过这些选项,我可以保持数据库的维护,使班加罗尔和芝加哥的用户能够不断更新数据,同时所有用户都能以相同的速度获得数据。

正如Mike W所建议的,最大限度地减少通过网络传递的数据量; 尽量减少每次操作的事务数量(例如,如果需要执行5次更新,则在一次呼叫中进行更新,而不是在适当的情况下进行5次往返);
根据使用情况(读密集型?写密集型?两者皆有?),以及用户是否需要立即确认更新的数据,某些操作可以在后台执行,也可以异步执行,也可以使用复制执行。

我曾为一家大公司工作,遇到过类似的问题。管理层如此痴迷于每个人都应该有相同的访问速度的想法,以至于他们决定正确的解决方案是将服务器放置在两个办公室之间的中间位置。每个人确实都得到了同样的访问速度:慢。按照这种逻辑,将服务器移动到伦敦。更有用的是,从优化数据库查询开始,尽量减少通过网络传递的数据量。是的,我正在优化查询执行。除此之外,我还需要研究一些问题,例如,如果服务器因某种原因停止,该怎么办?我应该没有别的选择吗?我读了一些关于数据库对等复制和其他相关内容的文章。您对此有何想法?Nivedita,从您的描述来看,似乎在某个地方有一个中央数据库,每个办公室都有一个本地缓存可能适合您的需要,假设“服务器停止”是一个有效的潜在问题。hi Xeon,我们可以通过哪种方式实现在每个办公室都有一个中央数据库和缓存?有什么架构可以参考我吗?嗨,Nivedita,我上次做这件事是很久以前的事了,当时我半手动地做(在所有地方都有相同的数据库,CDC都打开了,并且以编程方式同步检测到的更改),我相信还有比这更好的方法。