通过PHP将数据从MSSQL快速传输到MySQL

时间:2013-09-03 18:37:51

标签: php mysql sql sql-server

我需要将来自远程MS SQL数据库的数据存储到本地MySQL数据库中;我需要使用PHP来做到这一点。

从MSSQL获取数据非常简单:

SELECT orderRef
     , orderValue
  FROM remoteTbl

这导致100k行。我想使用PHP将其存储在本地MySQL数据库中。简单地说,我可以做(添加我想要的另一个字段):

while(list($orderRef, $orderValue) = mssql_fetch_array($result)){

mysql_query("INSERT INTO localTbl (orderRef, orderValue, updated)
                           VALUES ('$orderRef', '$orderValue', NOW())");

} // done all rows

这对于100k行数据来说似乎很浪费。

有什么方法可以更有效地做到这一点吗?

  • 进一步更新评论:

  • 或许使用MSSQL查询中的PHP资源? 我需要对数据做一些事情,MSSQL DBMS是只读的。

由于

1 个答案:

答案 0 :(得分:0)

你应该使用mysqli,因为mysql函数不会再存在了,但为了加快速度,你可以做一个大的插入语句。

$sql = "INSERT INTO localTbl (orderRef, orderValue, updated) VALUES ";

while(list($orderRef, $orderValue) = mssql_fetch_array($result)){

    $sql_rows[] = "('$orderRef', '$orderValue', NOW())";

}

mysql_query($sql . implode(',', $sql_rows) . ';');