回答編集履歴
2
推敲
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
以下参考
|
2
2
|
[MySQL: INSERT...ON DUPLICATE KEY UPDATEまとめ](https://qiita.com/yuzroz/items/f0eccf847b2ea42f885f)
|
3
3
|
|
4
|
-
高速に処理するためにはSQLの発行回数を減らす事ですが、CSVを逐次読み込んでという事なら、Values句に値を並べる事になりますが、それよりも、CSVの取込をCSVの項目と一致した全てテキスト型の項目のワークテーブル(一時テーブルも考慮)を用意して、[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)で取込し、そのテーブルを元に`insert
|
4
|
+
高速に処理するためにはSQLの発行回数を減らす事ですが、CSVを逐次読み込んでという事なら、Values句に値を並べる事になりますが、それよりも、CSVの取込をCSVの項目と一致した全てテキスト型の項目のワークテーブル(一時テーブルも考慮)を用意して、[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)で取込し、そのテーブルを元に`insert into select ON DUPLICATE KEY UPDATE`を行うのが一番処理時間の短縮が図れると思います。
|
5
5
|
|
6
6
|
仮にCSVのエラーチェックなどがあったとしても、そのワークテーブルでSQL一括で行う方が高速です。
|
1
推敲
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
以下参考
|
2
2
|
[MySQL: INSERT...ON DUPLICATE KEY UPDATEまとめ](https://qiita.com/yuzroz/items/f0eccf847b2ea42f885f)
|
3
3
|
|
4
|
-
高速に処理するためにはSQLの発行回数を減らす事ですが、CSVを逐次読み込んでという事なら、Values句に値を並べる事になりますが、それよりも、CSVの取込をCSVの項目と一致した全てテキスト型の項目テーブルを用意して、[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)で取込し、そのテーブルを元に`insert int select ON DUPLICATE KEY UPDATE`を行うのが一番処理時間の短縮が図れると思います。
|
4
|
+
高速に処理するためにはSQLの発行回数を減らす事ですが、CSVを逐次読み込んでという事なら、Values句に値を並べる事になりますが、それよりも、CSVの取込をCSVの項目と一致した全てテキスト型の項目のワークテーブル(一時テーブルも考慮)を用意して、[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)で取込し、そのテーブルを元に`insert int select ON DUPLICATE KEY UPDATE`を行うのが一番処理時間の短縮が図れると思います。
|
5
5
|
|
6
6
|
仮にCSVのエラーチェックなどがあったとしても、そのワークテーブルでSQL一括で行う方が高速です。
|