ホームページ  >  記事  >  バックエンド開発  >  大量のデータをphpに素早くインポートする方法

大量のデータをphpに素早くインポートする方法

王林
王林オリジナル
2019-09-21 17:58:513399ブラウズ

大量のデータをphpに素早くインポートする方法

大量のデータをデータベースにすばやくインポートするための PHP メソッド

最初の方法: insert into を使用します。コードは次のとおりです。次のように:

$params = array(‘value'=>'50′);

set_time_limit(0);

echo date(“H:i:s”);

for($i=0;$i<2000000;$i++){

$connect_mysql->insert($params);

};
echo date(“H:i:s”);

最後の表示は: 23:25:05 01:32:05、つまり 2 時間以上かかったということです!

2 番目の方法: トランザクション送信を使用します。データベースへのバッチ挿入 (10W 項目ごとに送信) に表示される最終時間は: 22:56:13 23:04:00、合計 8 分 13 秒です。コードは次のとおりです:

echo date(“H:i:s”);

$connect_mysql->query(‘BEGIN&#39;);

$params = array(‘value&#39;=>&#39;50′);

for($i=0;$i<2000000;$i++){

$connect_mysql->insert($params);

if($i%100000==0){

$connect_mysql->query(‘COMMIT&#39;);

$connect_mysql->query(‘BEGIN&#39;);

}

}

$connect_mysql->query(‘COMMIT&#39;);

echo date(“H:i:s”);

3 番目の方法: 最適化された SQL ステートメントを使用します。

##SQL ステートメントを分割し、

テーブル () 値に挿入します (),( ),(),()その後、一度にもう一度挿入します。文字列が長すぎる場合は、MYSQL を設定する必要があります。

mysql コマンド ラインで実行します:

set global max_allowed_packet =  2*1024*1024*10;

所要時間は: 11:24:06 11:25:06;

200 万個のテスト データを挿入するのに 1 分しかかかりませんでした! コードは次のとおりです:

$sql= “insert into twenty_million (value) values”;

for($i=0;$i<2000000;$i++){

$sql.=”(&#39;50′),”;

};

$sql = substr($sql,0,strlen($sql)-1);

$connect_mysql->query($sql);

概要: データの大きなバッチを挿入する場合、最初の方法は間違いなく最悪ですが、2 番目の方法は実際のアプリケーションでより広く使用されており、3 番目の方法はテスト データやその他の要件が低い場合に適しており、実際に高速です。

推奨チュートリアル:

PHP ビデオ チュートリアル

以上が大量のデータをphpに素早くインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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