チューニングのことは全く知らない初心者でも
とりあえず以下のようなSQLは書かないようにすると
先輩から怒られることが減るよ、というお話。
本当は体系的にお勉強すべきなんだけど。
IN句を使うな
基本的に全件探しにいっちゃうためめっちゃ遅い。
EXISTSを使うことで10倍以上速くなることも。
左辺に算術式使うな
WHEREの条件式は、なるべく右側に変換、算術式を使うこと
INDEXが使えなくなるのを避けられる。
UNION、DISTINCTはなるべく避けて。
UNIONするならUNINON ALLで。ALLつけないと
DISTINCTをつけた時と同じことをしてしまう。
DISTINCT処理はけっこう重いので極力減らして下さい。
どーしても必要なこともあるけど。
先輩いわく、どれも基本的なことらしい。
でも、どれも現場でそこそこ見かける記述なので、
自分含め初心者は気をつけよう。
ちなみに自分は3つとも書きました()
おまけ:もうちょっとキレイに書いて!
SQLはインデントの付け方などが人によって書き方がバラつきます。
初心者のうちは先輩をマネると思うんですが
先輩もかなり書き方がバラついたりしています。
整形ツールなどを活用しましょう。
http://www-atl.blog.so-net.ne.jp/2015-02-08#more