sql >> データベース >  >> RDS >> Mysql

JAVAを使用してCSVからMySQLを更新する

    1行のJavaコードなしでデータをインポートするためのはるかに高速ではるかに優れた方法があります。これは、 LOAD DATAINFILE を使用した場合です。

    LOAD DATAは、CSVに対してある程度の前処理を実行できることに注意してください。ただし、状況によっては適切ではありません。次に、Javaの助けを借りる必要がありますが、Javaが挿入を行うべきではありません。

    JavaコードはCSVを前処理し、LOADDATAに渡すことができる別のCSVを生成する必要があります。 70000レコードは簡単です。

    LOADDATAはON DUPLICATE KEY UPDATEをサポートしていません 構文。ただし、REPLACE構文はあります(重複キーの更新よりもわずかに低速ですが、Javaやその他のプログラミング言語で提供できる構文よりも少なくとも1桁高速です)。

    実際に更新を行うかどうかは重要な問題です。データを一時テーブルにロードしてから

    にロードします
    INSERT INTO mytable SELECT * FROM temp_table ON DUPLICATE KEY ....
    


    1. MySQLのリストのサブセットに対する選択

    2. MySQLロードデータ:このコマンドは、プリペアドステートメントプロトコルではまだサポートされていません

    3. MySQL:別のサーバーからのSELECT

    4. STRING_ESCAPE()関数がSQL Server(T-SQL)でどのように機能するか