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