2 つの異なるサーバーに 2 つのデータベースがあります。ソース データベースは大規模な不動産データベースで、2 つ目は Wordpress データベースです。ソースから Wordpress データベースの投稿と postmeta テーブルにデータをインポートする必要があります。
現在、ソースデータベースからすべてを引き出してから、それらの結果をループして、別のネストされたクエリを使用して投稿テーブルに挿入し、投稿挿入からの挿入 ID を使用して各フィールドをメタ値として挿入しています。いわば、メモリーホグです。
私の質問は、個々の挿入行がそれほど多くないように、以下のループを改善できますか? または、これをより速く/ずさんにしないための提案はありますか?
// SOURCE DB
$query = "select $fields from listings where data_id = 'B'";
$result = mysql_query($query);
// WORDPRESS DB
while ($row = mysql_fetch_assoc($result)) {
$query2 = "insert into wp_posts (post_author, post_content, post_title, post_status, comment_status, ping_status, post_name, post_type) values";
$query2 .= " ('1', '" . mysql_real_escape_string($row['remarks']) . "', '{$row['mls_acct']}', 'publish', 'closed', 'closed', '{$row['mls_acct']}', 'properties')";
$result2 = mysql_query($query2);
$id = mysql_insert_id();
foreach ($row as $key => $val)
{
$query3 = "insert into wp_postmeta (post_id, meta_key, meta_value) values ";
$query3 .= "('$id', '$key', 'mysql_real_escape_string($val)')";
$result3 = mysql_query($query3);
}
}