我需要将来自远程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是只读的。
由于
答案 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) . ';');