如何同时查询多个位置的数据库?

发布于 2024-10-14 23:21:23 字数 94 浏览 3 评论 0原文

我的公司在不同地点设有多个分支机构。每个分支机构都有自己的数据库(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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

霊感 2024-10-21 23:21:23

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

SELECT /*fields*/ FROM database_name.table_name

If your tables are on the same server. You can do something like this:

SELECT /*fields*/ FROM database_name.table_name
留蓝 2024-10-21 23:21:23

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

 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

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

缺点:网络延迟可能导致复制延迟

There is no direct solution except you setup a centralized database server which is a slave for all your branches database

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

when you require results for multiple servers, you can directly send query to this centralized server

drawback : network latency can lead delay of replication

裸钻 2024-10-21 23:21:23

这是有关如何查询多个数据库的教程以及不同的技术和选项。如果数据库不在同一台服务器上,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.)

生寂 2024-10-21 23:21:23

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

You can setup FEDERATED tables and query them from one server. This server will query federated server. But remember about restrictions fro FEDERATED tables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文