やっぱり押さえておこう。SQLのジョーシキ
- INよりEXSITSが早いよ
→相関クエリ内でインデックス使える
→発見したら途中で終わる
- BETWEENは早い
インデックスサーチが一度だけですむし。実は早いよ。<,>とかだと2回読むことになるよね。
- IN,CASEは一番ありそーなの先頭にね。
→これはプログラムと一緒。左から読む。trueだったら終わるしね。
- EXISTS使うなら、SELECT *で呼ぶべし
→オプティマイザに委ねることになるから早いの選択してくれるよ
- COUNT(*)よりCOUNT(主キー)これ最強
→インデックスあてられたほーがそりゃ早いよ
- WHERE句のANDは絞られる件数が少ないほうを先にね
→件数が少なくなるから、そのあとが早くなるよね。JOINの順番も同じこといえるよね。
- UNIONよりUNION ALL
→重複省かないから早いんよー
- 行ポインタは実は最速。ROWIDね。ポインタみたいなもんだから。
- SELECT *は重いよ
- 表はなるべく別名つけること
- DISTINCTは重いよ。できる限りEXISTS使うことー。