如何同时查询多个位置的数据库?
我的公司在不同地点设有多个分支机构。每个分支机构都有自己的数据库(MySQL)。我需要在单个查询中查询这些数据库。有什么想法如何完成这件事吗?
感谢您的帮助!
My firm has multiple branches in different locations. Each branch has it's own database(MySQL). I need to query those databases in a single query. Any ideas how to get this done?
Thanks for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您的表位于同一服务器上。你可以这样做:
If your tables are on the same server. You can do something like this:
除了设置一个集中式数据库服务器(它是所有分支数据库的从属服务器)之外,没有直接的解决方案
。
当您需要多个服务器的结果时,您可以直接将查询发送到该集中式服务器
缺点:网络延迟可能导致复制延迟
There is no direct solution except you setup a centralized database server which is a slave for all your branches database
ie.
when you require results for multiple servers, you can directly send query to this centralized server
drawback : network latency can lead delay of replication
这是有关如何查询多个数据库的教程以及不同的技术和选项。如果数据库不在同一台服务器上,MySQL不直接支持跨数据库查询。查看 UnityJDBC。它允许您编写一个 SQL 查询,可以连接和比较来自不同数据库(MySQL、PostgreSQL、Oracle、Microsoft 等)的数据。
Here is a tutorial on how to query multiple databases and the different techniques and options. If the databases are not on the same server, MySQL has no direct support for cross-database queries. Take a look at UnityJDBC. It allows you to write a SQL query that can join and compare data from different databases (MySQL, PostgreSQL, Oracle, Microsoft, etc.)
您可以设置
FEDERATED
表并从一台服务器查询它们。该服务器将查询联合服务器。但请记住FEDERATED
表的限制。You can setup
FEDERATED
tables and query them from one server. This server will query federated server. But remember about restrictions froFEDERATED
tables.