An expression index is a database index that is built on a generic expression, rather than on a list of columns. This allows indexes to be defined for common query conditions that depend on data in a table, but are not actually stored in that table.
A common use for an expression index is to support case-insensitive searching or constraints. For example, if a web site wants to make user names case-insensitive, but still preserve the case as originally entered by the user, a unique index can be created on the upper- or lower-case representation of the user name:
CREATE UNIQUE INDEX site_user__user_name_lower ON site_user( lower( user_name ) );
That will create a unique index on "lower(user_name)". Any queries that search on "lower(user_name)" could then make use of that index:
SELECT user_id FROM site_user WHERE lower(user_name) = lower('Decibel');
Famous quotes containing the words expression and/or index:
“Great speeches have always had great soundbites. The problem now is that the young technicians who put together speeches are paying attention only to the soundbite, not to the text as a whole, not realizing that all great soundbites happen by accident, which is to say, all great soundbites are yielded up inevitably, as part of the natural expression of the text. They are part of the tapestry, they arent a little flower somebody sewed on.”
—Peggy Noonan (b. 1950)
“Exile as a mode of genius no longer exists; in place of Joyce we have the fragments of work appearing in Index on Censorship.”
—Nadine Gordimer (b. 1923)