我需要将数据从远程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
不过,这对于10万行的数据来说似乎是浪费。
有什么方法可以让我更有效地做到这一点吗?
进一步更新至评论:
通过使用MSSQL查询中的PHP资源?我需要处理数据,而MSSQL DBMS是只读的。
感谢
您可能应该使用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) . ';');