SQLチューニング そもそもアナライズってなんでするんだ?
アナライズとか実行計画をとる、統計情報をとる
など現場で結構聞くと思いますが、そもそもなんでとるんでしょうかね?
ざっくりいうと、SQL文というのはselect対象のテーブルを参照する前に、
テーブルにどれくらいデータが入っているのかが蓄えられているテーブルを参照して、最適な結合順序や結合方法を考えてから実テーブルを参照する仕組みになってます。
で、そのどのくらいデータが入っているかテーブルが更新されないと実行するSQLが変な感じでデータ参照をしてしまうんですね。
そのため、アナライズ文を実行することでどのくらいデータが入ってるかテーブルを更新することで正しいSQL実行をしてもらうことを目的にしています。
ちょっと長くなりましたが、定期的にアナライズの実行をしたほうがよいということです。
今回は理屈っぽかった。。。