Câu trả lời nằm trong phần này của kế hoạch thực hiện:
Seq Scan ... (actual ... rows=2876756 ...)
...
Rows Removed by Filter: 141052
Vì hầu như tất cả các hàng đều được trả về, sử dụng quét tuần tự và loại bỏ một vài hàng được lọc ra là cách hiệu quả nhất để xử lý truy vấn.
Nếu bạn muốn xác minh điều đó, hãy tạm thời
SET enable_seqscan = off;
để làm cho PostgreSQL tránh quét tuần tự nếu có thể. Sau đó, bạn có thể kiểm tra xem việc thực thi truy vấn có nhanh hơn hay không.