プライマリ・コンテンツに移動
Oracle® Database 2日でデータベース管理者
12c リリース1 (12.1)
B71307-08
目次へ移動
目次
索引へ移動
索引

前
次

8.5.1.2 索引属性

索引は、様々な索引属性の組合せを使用していくつかの方法で作成できます。1次索引属性は次のとおりです。

標準(Bツリー)およびビットマップ

標準、Bツリー索引には、値が格納されている行のディスク・アドレスとともに索引キーの各値のエントリが含まれます。Bツリー索引はデフォルトであり、Oracle Databaseのほとんどの索引で一般的なタイプです。

ビットマップ索引では値および潜在的な行アドレスをカプセル化するビット文字列が使用されます。これはBツリー索引よりも簡潔で、より効率のよい検索のタイプを実行できます。ただし、通常の使用ではビットマップ索引には表における行操作時により多くのオーバーヘッドが必要であり、Oracle Databaseデータ・ウェアハウス・ガイドの説明に従って、データ・ウェアハウス環境で主に使用します。

昇順および降順

索引のデフォルト検索は最低値から最高値の順で行われます。文字データはASCII値によってソートされています。数値データは最小値から最大値、日付は最も古い値から最新の値の順になっています。このデフォルトの検索メソッドは昇順索引として作成された索引で実行されます。索引検索は降順オプションを使用した関連索引の作成により検索の順番を逆順にできます。

列およびファンクション

通常、索引エントリは表の単一または複数の列の、単一または複数の値に基づいています。これは列の索引です。または、表データから索引付けされた値が導出されるファンクション・ベースの索引を作成することもできます。たとえば、大/小文字が混在している可能性がある文字データを検索するには、UPPER()ファンクションに基づいたファンクションベースの索引を使用して、すべてが大文字であるかのように値を検索できます。

単一列および連結

単一の列に索引を作成する場合は単一列索引、複数列に作成する場合は、連結索引と呼びます。連結索引は、SQL文を頻繁に実行するWHERE句にほとんどすべての索引列が含まれている場合に役立ちます。

非パーティションおよびパーティション

表同様、索引をパーティションで区切ることができます。ほとんどの場合は、関連する表をパーティション化するときに索引をパーティション化し、表と同じパーティション化スキームを使用して索引をパーティション化すると便利です。(たとえば、表が売上日によってレンジ・パーティション化されている場合は、索引を売上日に作成して、表のパーティションと同じ範囲で索引をパーティション化します。)これはローカルのパーティション索引として知られるものです。ただし、索引は、その表と同じパーティション化スキームを使用してパーティション化する必要はありません。また、パーティション化されていない(グローバルな)索引を、パーティション化された表に作成することもできます。

関連項目:

  • 異なる索引タイプの設計および管理の詳細は、『Oracle Database概要』を参照してください。

  • 索引を作成する構文については、『Oracle Database SQL言語リファレンス』を参照してください。

  • パーティション化された表および索引の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。