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

Trong PostgreSQL, kế hoạch con băm có nghĩa là gì?

Bạn có quan niệm sai lầm rằng trình tối ưu hóa viết lại câu lệnh SQL. Đó không phải là tình huống. Viết lại truy vấn là công việc của người viết lại truy vấn , ví dụ như thay thế các khung nhìn bằng định nghĩa của chúng. Trình tối ưu hóa đưa ra một chuỗi các bước thực thi để tính toán kết quả. Nó tạo ra một kế hoạch , không phải là một câu lệnh SQL.

Trình tối ưu hóa lập kế hoạch hai lựa chọn thay thế:thực hiện kế hoạch con 1 cho mỗi hàng được tìm thấy hoặc thực hiện kế hoạch con 2 một lần (lưu ý rằng nó độc lập với a ), xây dựng một bảng băm từ kết quả và thăm dò hàm băm cho mỗi hàng được tìm thấy trong a .

Tại thời điểm thực thi, PostgreSQL quyết định sử dụng chiến lược thứ hai, đó là lý do tại sao kế hoạch con 1 không bao giờ được thực thi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đếm số lượng bản cập nhật

  2. Vòng lặp trên các bảng với PL / pgSQL trong Postgres 9.0+

  3. Triển khai bộ lọc tìm kiếm cho tất cả các cột

  4. Làm cách nào để xóa mọi bảng trong một lược đồ cụ thể trong postgres?

  5. Autoincrement trong liquibase