式インデックス式インデックス(しきインデックス、英: expression index)または関数インデックス(英: function-based index)は関係データベース管理システムで用いられるインデックスの中で、列の組み合わせの代わりに任意の式の結果をキーとするものを指す。 式インデックスを使うと、テーブルに格納された実際のデータとは異なるキーでの検索が可能になる。 式インデックスの一般的な使用例として、大文字小文字を区別しない検索または一意性制約がある。 例えば、ユーザ名を大文字小文字を区別せずに検索を行い、かつ入力されたユーザ名の大文字小文字を保持したい場合が挙げられる。この場合、小文字に変換して格納するだけは要件を満たせない。一意性制約のための UNIQUE INDEX は、大文字もしくは小文字に変換後のユーザ名 (user_name) に対して定義できる: CREATE UNIQUE INDEX idx_user_name_lower ON user_table( lower( user_name ) );
検索クエリは WHERE句に SELECT user_id FROM user_table WHERE lower(user_name) = lower('Decibel');
サポート
脚注
|