大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ORACLEMASTER 備忘録8(6/10)

著者:伊関星児
公開日:2020/09/28
最終更新日:2020/09/28
カテゴリー:技術情報
タグ:

ORACLEMASTER 備忘録8(5/10)

 

続き

 

 

スキーマオブジェクトの追加作成

 

索引

“索引”は、検索時のディスクI/Oを減らし、表データの検索を高速にするために作成するオブジェクト。

索引の役割は、書籍の巻末についている索引をイメージすると理解しやすい。書籍の索引を利用すると、ページ数の多い書籍の中から特定の情報が載っているページを素早く見つけることができる。データベースの索引の役割もこれと同じ。

データベースの索引には「キーワード」と「格納されている表のデータブロックのアドレス」が記載されており、これらの情報を利用すると目的のデータにダイレクトにアクセスできる。

 

索引には次のような特徴がある。

・索引は、“索引セグメント”として記憶域を使用するオブジェクトである。

・索引を作成する際には“表領域”を指定できる。

・索引は、“表”に関連付けられる。

・索引は、表内の“一つ以上の列”に対して作成できる。

・表に“主キー制約”または“一意キー制約”を指定すると、その列には索引が“暗黙的”ぶ作成される。

・索引は、表のデータがDML文によって挿入、更新、削除されると、それに伴って“自動的にメンテナンス”される。

 

なお、索引を使用するか否かは、ユーザーがデータへアクセスした際に自動的に判断されるため、索引を作成したとしても、その索引が使用されるかどうかは保証されない。データベースが「索引をしたほうが効率的なサクセスパスになる」と判断した場合のみ、索引は利用できる。

なお、索引をなるべく使用させたい場合は、「検索条件に指定されている列」に索引を作成しておく。

 

SQL Developerを使用した索引の作成

SQL Developerを使用して索引を作成するには、次の手順を実行する。

 

  • 索引はUSERS表領域に格納する。「索引」を右クリックして「新規索引作成」をクリックする。

 

  • 「名前」フィールドに索引の名前を入力して、索引を作成するスキーマおよび表名を選択する。「列名または式」フィールドに「LASTNAME」を選択して、「+」(追加)アイコンをクリックする。その後、表領域を指定するために右上の「詳細」チェックボックスにチェックを入れる。

 

  • 「索引の作成」の詳細ウィンドウが開く。「プロパティ」を選択して、「記憶域オプション」ボタンをクリックする。

 

  • 表領域を選択して、「OK」ボタンをクリックする。

 

  • 「OK」ボタンをクリックして索引を作成する。

 

SQL文を使用した索引の作成

SQL文を使用して索引を作成するには、“CREATE INDEX文”を使用する。

 

・索引の作成

CREATE [UNIQUE] INDEX 索引名 ON 表名(列名);

    上に戻る