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になっていたのでキーを減らした

漢(オトコ)のコンピュータ道: Using filesort