MySQL でのバッチ データ インポート手法

WBOY
リリース: 2023-06-15 21:22:35
オリジナル
6912 人が閲覧しました

データ量が増加し続ける中、大量のデータを MySQL データベースに効率的にインポートする方法は、データ管理者が注意を払う必要がある重要な問題となっています。実際のアプリケーションでは、MySQL にはさまざまなバッチ データ インポート手法が用意されており、これらの手法を合理的に使用することで、データ インポートの効率と精度を大幅に向上させることができます。この記事では、MySQL での一般的なバッチ データ インポート手法を紹介します。

1. LOAD DATA コマンドを使用する

LOAD DATA は、バッチでデータをインポートするために使用される MySQL のコマンドです。このコマンドは、テキストまたは CSV 形式のファイルからデータを直接読み取り、指定したテーブルにデータを挿入できます。 LOAD DATA コマンドは、CSV、テキスト、XML などの複数のデータ形式をサポートし、フィールド名の一致、行数制限、バイト制限などに従ってインポートできるさまざまなインポート方法も提供します。以下は、LOAD DATA コマンドを使用してデータをバッチでインポートする例です。

LOAD DATA LOCAL INFILE '/home/user/data.csv' INTO TABLE table1 FIELDS TERMINATED BY ' ,' LINES TERMINATED BY '
';

上記のコマンドは、ローカル ファイル /home/user/data.csv のデータをテーブル table1 に挿入することを意味します。各フィールドの区切り文字はカンマです。 、データの各行は改行を使用します。文字は区切り文字です。

2. INSERT INTO SELECT コマンドを使用する

INSERT INTO SELECT コマンドは、データをバッチでインポートするもう 1 つの方法です。このコマンドは、あるテーブルからデータを読み取り、別のテーブルにデータを挿入できます。 INSERT INTO SELECT コマンドは、挿入するフィールドとフィルター条件を非常に柔軟にカスタマイズできます。次に、INSERT INTO SELECT コマンドを使用してデータをバッチ インポートする例を示します。

INSERT INTO table2 (col1, col2, ##) #col3 ) SELECT col1, col2, col3 FROM table1 WHERE col4=1;

上記のコマンドは、table1のcol4が1に等しいレコードのcol1、col2、col3フィールド値をtable2の対応する列に挿入することを意味します。

3. データをバッチでインポートする

大量のデータをインポートする場合、バッチ インポート方法を使用して、データを複数の小さなファイルに分割し、それぞれをデータベースにインポートできます。一度に大量のデータをインポートすることによって引き起こされるデータベースのパフォーマンスの重大な低下を防ぐため。たとえば、1,000 万件のレコードを 10 個の小さなファイルに分割し、一度に 100 万件のレコードをインポートできるため、データベースへの負荷を効果的に軽減できます。

4. インポート中のインデックス メカニズムを最適化する

データをインポートするとき、MySQL はテーブル内のインデックスを自動的に更新するため、インポート速度が遅くなる可能性があります。インポート中にインデックスを更新する必要がない場合は、インポート前にインデックスを閉じ、データのインポートが完了した後にインデックスを再度開くことができます。インデックスをオフにしてデータをインポートする例を次に示します。

ALTER TABLE

table1 DISABLE KEYS;LOAD DATA LOCAL INFILE '/home/user/data.csv' INTO TABLE
table1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '';
ALTER TABLE
table1 ENABLE KEYS;

上記のコマンドは閉じることを意味しますデータをインポートする前のテーブル データのインポートが完了すると、table1 のインデックスが再度開かれます。この方法により、データインポートの効率を効果的に向上させることができます。

つまり、MySQL にデータをインポートするには多くの手法があり、それぞれの手法には適用可能な場面と注意事項があります。これらのテクニックを合理的に適用することで、データインポートの効率と精度を大幅に向上させることができます。

以上がMySQL でのバッチ データ インポート手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート