【发布时间】:2014-08-23 00:53:54
【问题描述】:
我需要JOIN 2 个表(比如说User 和Order 表)用于我的网络应用程序中的报告模块。
问题是:
User表位于不同的服务器和不同的Order表中的 DBMS。从技术上讲,它是一个不同的系统,因此User表位于 SQL Server DB 上,而Order表位于 MySQL DB 上。我无法使用 SQL Server 的链接服务器,因为我的公司政策不允许。所以,我不能直接用 SQL 代码
JOIN他们。他们希望我使用网络服务而不是链接服务器。来自这些表的
JOIN操作的结果有大量行(可能超过 10,000 行,因为数据旨在报告)。所以,我认为使用 Web Service 映射它们是一件可怕的事情。
所以我想出了这个:
我收集了来自不同模型的 2 个查询结果,并将它们与我的应用程序代码连接起来(我正在使用 PHP 和 CodeIgniter):
// First result
$userData = $this->userModel->getAllUser();
// Second result
$orderData = $this->orderModel->getAllOrder();
$userData 包含具有以下列的所有用户实体:
[UserId, Username, Address, PhoneNumber, etc..]
$orderData 包含所有具有以下列的订单实体:
[OrderId, UserId, Date, etc..]
但是是否可以在 PHP/CodeIgniter 中加入这两个查询结果?
海量数据的性能如何?
我应该按照建议使用 Web 服务还是有其他解决方案来完成此操作?
提前致谢:)
【问题讨论】:
-
可以从 MsSQL 数据库中读取并插入到 MySQL 临时表中,然后将其连接到您感兴趣的 MySQL 表中吗?
-
哦,看来有可能...我从 SQL Server 查询中得到一个数组,然后将其插入 MySQL 表中。我应该循环每一行并一个接一个地插入它们还是如何插入?
-
取决于数量。可能最容易循环构建要插入的批次(因此您一次插入数百行),因为这样会更有效。
标签: php mysql sql sql-server