- PR -

Oracleの実行計画について

1
投稿者投稿内容
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2007-09-28 19:10
いつも拝見させていただいています。

少し困ったことが発生しましたので投稿させていただきます。

Oracle10gにてSELECT文の実行計画を取ったのですが、
SQLの条件によってTABLE ACCESSがFULLになったり
INDEXが使われていたりします。

SQL文自体はまったく同一でWHERE句の値を1箇所変えただけで
変化するものなのでしょうか?

何かお分かり方がいましたら、教えていただけないでしょうか?
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2007-09-28 19:29
引用:

SQL文自体はまったく同一でWHERE句の値を1箇所変えただけで
変化するものなのでしょうか?



あります。

具体的なSQL例が提示されていないので、それが当てはまるかわかりませんが
その該当部が likeなどの場合 btreeインデックスでは
検索文字列が 'AAA%'ならインデックスは使用され(でき)ますが、
'%AAA'のようにワイルドカードで始まる場合はインデックスは使用され(でき)ません。
ZERO
常連さん
会議室デビュー日: 2006/12/14
投稿数: 48
投稿日時: 2007-09-28 19:40
返信ありがとうございます。

http://www.atmarkit.co.jp/fdb/rensai/oraobstacle04/oraobstacle04_1.html

上記のURLを参考にすることで解決できました。

お騒がせしてすいませんでした。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2007-09-29 02:11
既に解決されているようですが、ヒストグラム統計が採取されているのでしょう。
1

スキルアップ/キャリアアップ(JOB@IT)