Используйте computed (вычисляемые) колонки и индексы по ним, когда ваши запросы постоянно фильтруют или сортируют по функции.
Плохо:
WHERE LOWER(email) = 'user@mail.com'
Это ломает индекс — оптимизатор не может его использовать.
Лучше:
ALTER TABLE users
ADD email_lower AS LOWER(email) STORED;
CREATE INDEX idx_users_email_lower ON users(email_lower);
Теперь:
WHERE email_lower = 'user@mail.com'
Запросы становятся мгновенно быстрее, а индекс используется эффективно.
Очень немногие разработчики знают и применяют этот трюк, но он спасает производительность на реальных системах.