ホームページ  >  記事  >  バックエンド開発  >  PHP_PHPチュートリアルに基づいてTXTファイルを読み込み、大量のデータをデータベースにインポートする方法

PHP_PHPチュートリアルに基づいてTXTファイルを読み込み、大量のデータをデータベースにインポートする方法

WBOY
WBOYオリジナル
2016-07-21 15:11:49867ブラウズ

次の形式の 100,000 レコードを含む TXT ファイルがあります:

Column 1 Out Out 00003553 0 0 Emerging#2 Emergent#2

A00003700 0.25 0分散剤#1

……………………背後には 100,000 行があります………………

必要なのは、それをデータベースにインポートすることです。データテーブルの構造は次のとおりです。

word_id

使用してください。 to to 存在たちへ、そして、このレコードはスキップされ、データテーブルには挿入されません

コードをコピーします コードは次のとおりです:
$file = 'words.txt';/ /10W レコードの TXT ソース ファイル $lines = file_get_contents($file); ini_set('memory_limit', '-1');//Mem サイズを制限しないでください。制限しないとエラーが報告されます
$line=explode ("n",$lines);

$i=0; $sql="words_sentiment (word,senti_type,senti_value,word_type) VALUES "; foreach($line as $key =>$li)

{$ arr = explode( ""、$ li); "#",$m); /this 単語には一重引用符 (ジャックなど) が含まれる場合があるので、単語を含めるには二重引用符を使用する必要があることに注意してください (エスケープに注意してください) $sql=substr($sql, 0,-1); //最後のカンマを削除します //echo $sql;
file_put_contents('20000-25000.txt', $sql); // データベースを一括インポートします。1 回の作業には約 40 秒かかります。一度にインポートする max_execution_time が多すぎると十分ではなく、失敗します
?>


1. 大量のデータをインポートする場合は、PHP のいくつかの制限に注意する必要があります。一時的に調整しないと、

許容メモリ サイズが枯渇しました (16 バイトを割り当てようとしました) というエラーが報告されます。

2、PHPはTXTファイルを操作します

file_get_contents()

file_put_contents()

3. 大量にインポートする場合は、失敗の可能性を減らすためにバッチでインポートすることをお勧めします

4. 一括インポートの前に、スクリプトを使用する前に複数回テストする必要があります (100 個のデータでテストするなど)。 5. インポート後も、PHP の mem_limit がまだ十分でない場合、プログラムは実行できません

(一時的なステートメントを使用する代わりに、php.ini を変更して mem_limit を増やすことをお勧めします)

http://www.bkjia.com/PHPjc/326817.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326817.html技術記事次の形式の 100,000 レコードを含む TXT ファイルがあります: Column 1 Column 2 Column 3 Column 4 Column 5 a 00003131 0 0 adductive#1 adducting#1 adducent#1 a 00003356 0 0 nascent#1 a 00003553 0 0 em .. .

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