インデックスの作成

広告

データベースの検索を行う際にインデックスを作成しておくことで高速化が行える場合があります。検索の対象となるカラムをインデックスとして作成し、で検索時にはインデックスを検索することでテーブルそのものを検索するよりも高速に検索が行えるというわけです。

ではインデックスの作成方法から見ていきます。

CREATE [ UNIQUE ] INDEX name ON table [ USING method ]
    ( { column | ( expression ) } [ opclass ] [, ...] )
    [ TABLESPACE tablespace ]
    [ WHERE predicate ]

いくつか省略可能なオプションがありますが、基本的には下記のようになります。

CREATE INDEX index_name ON table_name (column_name);

インデックス名、インデックスを作成するテーブル名、インデックスの対象となるカラム名、を指定して作成します。UNIQUE属性を設定した場合には、インデックスの対象となるカラムに重複する値を格納することができなくなります。

CREATE UNIQUE INDEX index_name ON table_name (column_name);

また複数のカラムを対象としたインデックスを作成する事も可能です。

CREATE INDEX index_name ON table_name (column_name1, column_name2);

では実際に作成してみましょう。まずテーブルを1つ作成します。

インデックスの作成

上記のテーブルには「id」と「name」という2つのカラムがあります。では「id」カラムを対象としてインデックスを作成してみます。

インデックスの作成

問題なくインデックスが作成出来ました。作成されたインデックスを確認するには「¥di」と入力します。

インデックスの作成

先ほど作成した「index1」というインデックスが作成されているのを確認できます。

PostgreSQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )