• ベストアンサー

MySQLのオプティマイザはルールベース?コストベース?

MySQLのオプティマイザはルールベースでしょうか?コストベースでしょうか? 取得するカラムが違うだけで、EXPLAINの使用するindexが変わったりするので(ver 5.1)、コストベースかと思っていたのですが、そのような記述が見つかりません。 ご存知ありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

コストベースですが、(商用RDBMSに比べると)まだまだ発展途上です。 まず、ルールベース、コストベースは主にOrackeで使われている用語であり、他のRDBMSでは異なった用語が使われている場合が少なくありません。 したがって、Oracle以外のRDBMSの用語で、それらを探してもOracleとの比較といった記事が殆どだと思います。 ルールベース、コストベースという用語を知っていて、EXPLAINまで辿り着いているなら、ANALYZE TABLE文でコスト情報を収集するといった記載もすぐに見つけられると思うのですが。。。 逆にルールベースの採用を推測させる条件式の種類による優先度といった記載は、どこにもないと思います。

sweepea
質問者

お礼

ありがとうございました! > それらを探してもOracleとの比較といった記事が殆どだと思います。 それでなかなか見つからなかったんですね。 ANALYZE TABLE文を発行すると、Cardinality が本来の値に変化しました。 なるほど、この統計情報を利用しているのですね。ありがとうございました。

関連するQ&A