SQLチューニング そもそもアナライズってなんでするんだ?

アナライズとか実行計画をとる、統計情報をとる

など現場で結構聞くと思いますが、そもそもなんでとるんでしょうかね?

 

ざっくりいうと、SQL文というのはselect対象のテーブルを参照する前に、

テーブルにどれくらいデータが入っているのかが蓄えられているテーブルを参照して、最適な結合順序や結合方法を考えてから実テーブルを参照する仕組みになってます。

で、そのどのくらいデータが入っているかテーブルが更新されないと実行するSQLが変な感じでデータ参照をしてしまうんですね。

 

そのため、アナライズ文を実行することでどのくらいデータが入ってるかテーブルを更新することで正しいSQL実行をしてもらうことを目的にしています。

 

ちょっと長くなりましたが、定期的にアナライズの実行をしたほうがよいということです。

 

今回は理屈っぽかった。。。