サイトアイコン SE日記

【ORACLE】SQLに複数のヒントの書き方


ORACLEデータベースのSQLで、複数のヒントを書く方法を紹介します。

ヒントの基礎的な内容については↓で紹介していますのでぜひ参考にしてください。
>>【ORACLE】SQLのヒントとは

複数のヒントを書いたSQLサンプル

ヒントは半角スペース区切りで複数書くことが出来ます。

SQLの例

select /*+INDEX(b 顧客マスタ_idx0) INDEX(b 担当者マスタ_idx0) INDEX(b 部門マスタ_idx0) */
    x.顧客コード
    ,b.顧客名
    ,x.担当者コード
    ,c.担当者名
    ,x.部署コード
    ,d.部署名
    ,x.売上金額
from
    (select
        a.顧客コード
        ,a.担当者コード
        ,a.部署コード
        ,SUM(売上金額) as 売上金額
     from
        売上 a
     group by
        a.顧客コード
        ,a.担当者コード
        ,a.部署コード) x
    ,顧客マスタ b
    ,担当者マスタ c
    ,部門マスタ d
where
    x.顧客コード = b.顧客コード
    and x.担当者コード = c.担当者コード
    and x.部署コード = d.部署コード
;

インデックスの例

CREATE INDEX 顧客マスタ_idx0ON test01.顧客マスタ(顧客コード,顧客名) TABLESPACE index_tbs;
CREATE INDEX 担当者マスタ_idx0ON test01.担当者マスタ(担当者コード,担当者名) TABLESPACE index_tbs;
CREATE INDEX 部門マスタ_idx0ON test01.部門マスタ(部署コード,部署名) TABLESPACE index_tbs;

まとめ

ヒントは半角スペース区切りで複数書くことが出来ます。

主要なヒントやSQLサンプルは↓でも紹介していますので参考にしてください。
>>【ORACLE】SQLヒントの書き方:サンプル多数あり

モバイルバージョンを終了