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

Cái nào nhanh hơn:truy vấn con tương quan hoặc tham gia?

Đầu tiên, một truy vấn con tương quan thực sự là một kiểu nối. Không có quy tắc vàng nào về kế hoạch thực hiện tốt nhất. Nếu bạn quan tâm đến hiệu suất, bạn cần thử các hình thức khác nhau để xem cái nào hiệu quả nhất. Hoặc, ít nhất, hãy xem xét các kế hoạch miễn trừ để đưa ra quyết định đó.

Nói chung, tôi có xu hướng tránh các truy vấn con tương quan vì một vài lý do. Đầu tiên, chúng hầu như luôn có thể được viết mà không có sự tương quan. Thứ hai, nhiều công cụ truy vấn biến chúng thành các phép nối vòng lặp lồng nhau (mặc dù sử dụng chỉ mục) và các chiến lược nối khác có thể tốt hơn. Trong những trường hợp như vậy, các truy vấn con tương quan gây khó khăn cho việc song song hóa truy vấn. Thứ ba, các truy vấn con tương quan thường gặp trong mệnh đề SELECT hoặc WHERE. Tôi muốn tất cả các bảng của mình nằm trong mệnh đề FROM.

Tuy nhiên, trong MySQL, các truy vấn con tương quan thường là nhất cách hiệu quả để thực hiện một truy vấn. Điều này đặc biệt đúng khi sử dụng truy vấn con trong IN mệnh đề. Vì vậy, không có quy tắc vàng.




  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 và chỉ hiển thị các bản ghi trùng lặp trong MySQL

  2. Cách thay đổi mật khẩu gốc của MySQL hoặc MariaDB trong Linux

  3. làm cho tất cả các số nguyên tăng tự động có cùng số chữ số với các số 0 ở đầu

  4. Chuyển các tham số đến một câu lệnh chuẩn bị sẵn của JDBC

  5. Đang điền danh sách thả xuống - PHP Ajax MySQL