PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

postgres chỉ sử dụng chỉ mục được sắp xếp để truy vấn bảng bản ghi 5m

Thay đổi truy vấn thành

WHERE NOT emails."$$meta.deleted" = FALSE
  AND (emails."$$meta.created", emails.key) >
      ('2018-02-13T14:30:35.679075Z', '8c0a3151-bf17-490f-8124-d93f7482624f')

và sử dụng chỉ mục này:

CREATE INDEX ON emails ("$$meta.created", key)
   WHERE NOT emails."$$meta.deleted";

Giải thích: OR là một vấn đề về hiệu suất . Bằng cách viết lại nó dưới dạng so sánh từ vựng của các cặp, bạn sẽ loại bỏ OR và quét chỉ mục đơn giản sẽ tìm thấy các hàng một cách hiệu quả. PostgreSQL không còn bị cám dỗ sử dụng chỉ mục hỗ trợ ORDER BY .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sao lưu và khôi phục cơ sở dữ liệu PostgreSQL

  2. Các cải tiến về báo cáo tiến độ trong PostgreSQL 12

  3. Làm cách nào để giảm các hàng kết quả của truy vấn SQL bằng nhau trong phạm vi đầy đủ?

  4. Không tìm thấy mô-đun khi nhập gói Python trong quy trình plpython3u

  5. Tìm tất cả các giao điểm của tất cả các tập hợp phạm vi trong PostgreSQL