読者です 読者をやめる 読者になる 読者になる

小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracle 11gでもインデックスを指定するヒント句は使える。

oracle
はじめに

Oracle 11gでヒント句は使用できるのかを試してみました。

環境
  • Windows Server 2008 R2
  • Oracle Database 11g EE Release 11.2.0.1.0
ざっくり言うと
  • Oracle 11gでもヒント句は使える
  • ruleヒント以外のヒントはコストベースで動作する
  • ヒント句を指定した時と、外したときの違い検証したほうが良い

Oracle Technology Network (OTN) Japan - 掲示板 : oracle11gでhint句は使用でき ...Oracle Technology Network (OTN) Japan - 掲示板 : oracle11gでhint句は使用でき ...

インデックスの作成
CREATE INDEX idx_01 ON hoge.table01(BIRTHDAY) TABLESPACE USERS;
CREATE INDEX idx_02 ON hoge.table01(BIRTHDAY, SEIBETSU) TABLESPACE USERS;
インデックスヒントを指定したSQL
select /*+ INDEX(table01 idx_01) */ * from table01 where birthday = '20130404';

f:id:replication:20150205230336p:plain

select /*+ INDEX(table01 idx_02) */ * from table01 where birthday = '20130404' and SEIBETSU = '女';

f:id:replication:20150205230450p:plain