読者です 読者をやめる 読者になる 読者になる

日に日に分からんことが増えていく…

プログラマー初心者としての日々を学んでいることを記録していく。

課題もらっちゃった。。

SQL

これについて解いていこうと思っている。

 何か処理したレコード群を、既存のテーブルにon duplicateでinsertする課題。

1.  バルクinsert

2.  tsvに一旦出力して、ローカルload dataとリモートload data

3.  tsvに一旦出力して、csv engineでtableに見せかけて、既存tableにinsert

4.  load dataは、STDINを入力にできるから、一時ファイル書き出しを省略して、subprocessで起動したload dataプロセスのSTDINにレコードを流し込んでinsert

5 .  上の、load dataのパターンそれぞれで、1万レコード単位で、PKでソートしつつinsert

 一定期間で古いレコードを削除する時に楽になるよう、PARTITION BY RANGEを使う。
  
partitionの追加は、できればevent schedulerで自動化したほうがいいけど、とりあえず手動でいい