Индекс строится не по столбцу, а по выражению (функция от столбца). Используется когда запросы фильтруют по выражению. Пример: WHERE lower(email) = 'a@b.com' - индекс CREATE INDEX ON users (lower(email)). В PostgreSQL поддерживаются; в MySQL - только по столбцам (можно виртуальный столбец с выражением и индекс по нему).