MySQL高速化めも
1.コミット頻度を減らす
数千件単位で明示的にcomit
増やしすぎても効果ない
2.バルクインサート
インサート文はまとめて(クエリ長を気にしつつ)
×
INSERT hoge INTO VALUES (1,'a');
INSERT hoge INTO VALUES (2,'b');
...
○
INSERT hoge INTO VALUES (1,'a'),(2,'b'),...
max_allowed_packetを超えない範囲で
3.JOIN
複数テーブルをJOINする場合、期待通りの順番でJOINしてくれない(判断に時間がかかる)場合があるので
STRAIGHT_JOIN で順番を強制する
MySQL のJOIN に関するメモ - Slow Dance
4.EXPLAINでいろいろ見る
漢(オトコ)のコンピュータ道: MySQLのEXPLAINを徹底解説!!
ORDER BY句のキーが多すぎてUsing temporaryになっていたのでキーを減らした