WHERE lower(email) = ... chậm 320ms dù đã có index trên email: vì sao, và expression index cứu thế nào
Bọc một hàm quanh cột trong WHERE là làm mất index thường — PostgreSQL phải tính hàm cho từng dòng. Expression index đánh index trên chính biểu thức đó. Đo thật 320ms xuống 0,018ms.