解決済みの質問
#3です。
>ご指摘の通りorder byでは索引されないのですね。
私はそんなことはいっていませんよ。
参考URLはご覧になりましたか?
こちらの「Order By句の使用」のところにも同様のことが書かれています。
http://www.int21.co.jp/pcdn/oracle/article/optimizer.html
「Order By句では、表にNot Null指定されてる場合に限り索引が使用されます」
ということではないですか?
今、手許にOracleがないのでテストしていませんので自信ありとはしませんが。
参考URL:http://www.int21.co.jp/pcdn/oracle/article/optimizer.html
投稿日時 - 2003-07-16 00:58:36
お礼
ご回答有難うございます。
oracleだと
ANALYZE INDEX ~ VALIDATE STRUCTURE文で
調べられるみたいですね。
私も手元にはないので暇な時試用版ででもためしたいと思います。
投稿日時 - 2003-07-16 10:12:17
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(5件中 1~5件目)
索引は基本的に検索条件がある時に使用されませすが、オプティマイザのモードによっては、この場合でも索引は使われるかもしれません。必要なカラム名がaで並び替えもaカラムなので索引のアクセスだけで検索ができるため、そうなるかもしれません。でも、一般には、ほかの方が言っているように使用しないと思います。
ちなみに索引を2つ作った場合ですが、どちらが使われるかは、オプティマイザのモードによりますが、多分、myindiiの方が使われるはずですが、保証されません。
投稿日時 - 2003-07-15 22:56:54
お礼
ご回答有難うございます。
オプティマイザですか。勉強になります。
投稿日時 - 2003-07-16 10:11:55
WHERE句はありませんが、ORDER句に索引aが指定されているので索引が使用されるのが
普通ではないかと思います。
こちらの下の方の「■ ソートの使用」のところをご覧下さい。
http://www.hi-ho.ne.jp/tsumiki/doc_1.html
参考URL:http://www.hi-ho.ne.jp/tsumiki/doc_1.html
投稿日時 - 2003-07-15 13:16:24
お礼
皆様ご回答有難うございました。
ご指摘の通りorder byでは索引されないのですね。
索引そのものの自体理解不足でした。
CREATE INDEX myindi ON mytbl(a,b,c)
CREATE INDEX myindii ON mytbl(a,b)
と索引を作成した場合に
SELECT a FROM mytbl WHERE a = 'a' ORDER BY a;
例えばこういう場合だと、使用する索引の優先順位とかあるのでしょうか?
投稿日時 - 2003-07-15 14:01:01
OKWaveのオススメ
おすすめリンク