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

PostgreSQL:KHÔNG VÀO so với EXCEPT sự khác biệt về hiệu suất (đã chỉnh sửa # 2)

Truy vấn số 1 không phải là cách hay để thực hiện điều này ... (KHÔNG) TRONG CHỌN là tốt cho một số mục nhập, nhưng nó không thể sử dụng chỉ mục (Seq Scan ).

Trước khi có EXCEPT ... đây là cách nó được thực hiện bằng cách sử dụng JOIN (HASH JOIN ):

    SELECT sp.id
    FROM subsource_position AS sp
        LEFT JOIN subsource AS s ON (s.postion_id = sp.id)
    WHERE
        s.postion_id IS NULL

EXCEPT đã xuất hiện trong Postgres từ lâu, rất lâu trước đây ... Nhưng đối với ví dụ, sử dụng MySQL, tôi tin rằng đây vẫn là cách duy nhất để đạt được điều này bằng cách sử dụng các cặp chỉ mục.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn câu lệnh chuẩn bị vào cơ sở dữ liệu - PSQL

  2. Quản lý tính khả dụng cao của PostgreSQL - Phần I:Chuyển đổi dự phòng tự động PostgreSQL

  3. Psycopg2 sử dụng hết bộ nhớ trên truy vấn chọn lọc lớn

  4. Làm cách nào để bạn tạo một người dùng chỉ đọc trong PostgreSQL?

  5. Nâng cấp với một giao dịch