やっぱり押さえておこう。SQLのジョーシキ

  • INよりEXSITSが早いよ

→相関クエリ内でインデックス使える
→発見したら途中で終わる

  • BETWEENは早い

インデックスサーチが一度だけですむし。実は早いよ。<,>とかだと2回読むことになるよね。

  • IN,CASEは一番ありそーなの先頭にね。

→これはプログラムと一緒。左から読む。trueだったら終わるしね。

  • EXISTS使うなら、SELECT *で呼ぶべし

オプティマイザに委ねることになるから早いの選択してくれるよ

  • COUNT(*)よりCOUNT(主キー)これ最強

→インデックスあてられたほーがそりゃ早いよ

  • WHERE句のANDは絞られる件数が少ないほうを先にね

→件数が少なくなるから、そのあとが早くなるよね。JOINの順番も同じこといえるよね。

  • UNIONよりUNION ALL

→重複省かないから早いんよー

  • 行ポインタは実は最速。ROWIDね。ポインタみたいなもんだから。
  • SELECT *は重いよ
  • 表はなるべく別名つけること
  • DISTINCTは重いよ。できる限りEXISTS使うことー。