Cơ sở dữ liệu 22/09/2026 6 phút

Hàm bọc quanh cột làm mất index trong PostgreSQL: lower(), date() và cách gỡ

Index lưu giá trị cột, không lưu giá trị của hàm. Bọc lower(email) hay date(tao_luc) quanh cột trong WHERE khiến index thành vô dụng. Đo thật: lower(email) chạy Seq Scan 160 ms so với 0,036 ms; date(tao_luc) 47,6 ms so với 0,433 ms khi viết lại thành khoảng. Index biểu thức và điều kiện sargable. PostgreSQL 16.