0

我的公司在不同的地点有多个分支机构。每个分支都有自己的数据库(MySQL)。我需要在单个查询中查询这些数据库。任何想法如何完成这项工作?

谢谢你的帮助!

4

4 回答 4

0

如果您的表在同一台服务器上。你可以这样做:

SELECT /*fields*/ FROM database_name.table_name
于 2011-01-28T19:24:27.187 回答
0

除了设置一个集中式数据库服务器之外,没有直接的解决方案,它是所有分支机构数据库的从属服务器

IE。

 branch_a => database name branch_a
 listening port 10000, master

 branch_b => database name branch_b
 listening port 11000, master

 branch_c => database name branch_c
 listening port 12000, master

 centralized server
 slave listening to master database branch_a on port 10000
 slave listening to master database branch_b on port 11000
 slave listening to master database branch_c on port 12000

当您需要多个服务器的结果时,您可以直接将查询发送到该集中式服务器

缺点:网络延迟会导致复制延迟

于 2011-01-28T19:37:27.430 回答
0

您可以设置FEDERATED表并从一台服务器查询它们。该服务器将查询联合服务器。但请记住FEDERATED表格的限制。

于 2013-12-10T13:12:19.577 回答
0

这是关于如何查询多个数据库以及不同的技术和选项的教程。如果数据库不在同一台服务器上,MySQL 不直接支持跨数据库查询。看看UnityJDBC。它允许您编写一个 SQL 查询,该查询可以连接和比较来自不同数据库(MySQL、PostgreSQL、Oracle、Microsoft 等)的数据

于 2011-12-31T18:01:48.673 回答