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

Điều gì đã xảy ra đầu tiên trong mysql:tham gia hoặc ở đâu

join xảy ra trước where , tuy nhiên ...

where mệnh đề là một bộ lọc cho tất cả các hàng được trả về bởi tham gia, nhưng trình tối ưu hóa sẽ nhận ra rằng nếu một chỉ mục tồn tại trên A.id , nó sẽ được sử dụng để truy xuất các hàng từ A khớp đó, sau đó phép nối sẽ xảy ra, về mặt lý thuyết mệnh đề where sẽ lọc kết quả, nhưng một lần nữa trình tối ưu hóa sẽ nhận ra rằng điều kiện đã được đáp ứng nên nó sẽ bỏ qua nó như một bộ lọc.

Tất cả những gì đã nói, trình tối ưu hóa sẽ luôn trả về cùng một kết quả giống như sẽ được trả về mà không có trình tối ưu hóa.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để xây dựng các liên kết tiếp theo và liên kết trước đó với php?

  2. Làm thế nào để thực hiện Tham gia bên trong trong django?

  3. MySQL Left Joins:Chọn mọi thứ từ một bảng, nhưng chỉ khớp giá trị trong bảng thứ hai với tiêu chí

  4. mysql cập nhật một cột với một int dựa trên thứ tự

  5. Thiết lập khóa ngoại trong phpMyAdmin?