ホームページ  >  記事  >  バックエンド開発  >  数百万のデータをデータベースに挿入するにはどうすればよいでしょうか?

数百万のデータをデータベースに挿入するにはどうすればよいでしょうか?

WBOY
WBOYオリジナル
2016-06-23 13:57:44983ブラウズ

テーブルには約 100 万個のデータがあり、一度に 1 つの名前を取り出して挿入すると、プログラムが実行を停止してしまうようです。 1枚読んで1枚入れる?どうやってするの?


ディスカッションに返信 (解決策)

コンソールで
insert into newtbl select * from oldtab

この種のデータ移行作業は、時間がかかる場合はあまり行われません。

insert into を使用すると、あるテーブルから抽出して別のテーブルに挿入することができ、エントリが 2 ~ 3,000 になるとプログラムが停止するようです。

コンソールで実行されていますか?

別のデータベースなので、コンソールにはなく、php ファイルにあります。 Max_execution_time は 0 に設定されました

コードを投稿してください!

プログラムは 504 ゲートウェイ タイムアウトですが、データはまだデータベースに挿入されているようです。どうでも。

コードを投稿してください!



コード:
while($mssql_row = mssql_fetch_array($rs))
{

$fTMID = $mssql_row[0];

$sql = "Flow01(fZTDM,) 値に挿入 ('$fZTDM ', )";
mysql_query('set names gbk');
mysql_query($sql);
}

最適化するにはどうすればよいですか?

mysql_query('set names gbk');while($mssql_row = mssql_fetch_array($rs))  {   $fTMID = $mssql_row[0];  $sql = "insert into Flow01(fZTDM,) values ('$fZTDM',)";  mysql_query($sql);	  echo ' ';} 

基本的に最適化の余地はありません

ページがタイムアウトしました。以前に使用した方法は、1000 個のアイテムを実行し、すべての実行が完了するまでこのページにジャンプして実行を継続する
というものでした。

さて、熱心なご回答ありがとうございます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。