【 2006年10月12日 】

ヒント句をつけるとコストベースに

 オラクルがSQLを実行するときに、実行計画を立てる。その方式にルールベースオプティマイザ(RBO) とコストベースオプティマイザ(CBO)があるのは、周知のとおり。ルールベースならインデックスがあるというだけで利用するのに対し、コストベースでは事前に取得した統計情報を元に、使うインデックスやそもそもインデックスを使うのか検討する。

 どちらも人の目から見ると、使ってほしいインデックスを無視することがある。そんなときはSQLにヒント句をもぐり込ませると、意図したインデックスを使ってくれるようになる(ヒント句にはもっといろいろな指示ができる)。

 ところがSQLにヒント句を入れると、そのSQLはコストベースで動くようになる。ヒント句で指示を出したんだからルールベースになるような気がしていたので、ちょっと意外。 

トラックバック(0)

トラックバックURL: http://www.ohzapper.com/mt4home/mt-tb.cgi/1611

コメントする

アーカイブ

広告

広告