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

Hiểu các tác động về hiệu suất cho tìm kiếm tuple mysql

Theo câu hỏi này , hỗ trợ cho các bộ giá trị trong MySQL không được tối ưu hóa. Như @ O.Jones viết trong nhận xét của mình, trình lập kế hoạch truy vấn trong MySQL là một con thú phức tạp cực kỳ và những thứ nên không phải lúc nào công việc cũng hoạt động như bạn mong đợi.

Tôi tin rằng truy vấn thứ hai của bạn nhanh hơn vì mệnh đề where đầu tiên dept_id in (101, 103) giảm không gian tìm kiếm cho thứ hai sử dụng các bộ giá trị. Trình tối ưu hóa truy vấn nên thực hiện điều này một cách tự động, nhưng ít nhất trong ví dụ của bạn không làm như vậy.

Tôi không tin IN mệnh đề là vấn đề - đó là so sánh tuple đang quét toàn bộ bảng và không sử dụng các chỉ mục có sẵn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rắc rối với Ruby on Rails với Rake

  2. Làm cách nào để chèn dữ liệu vào cột từ PHP vào MariaDB?

  3. Tôi có thể sử dụng cùng một ràng buộc khóa ngoại trong hai bảng khác nhau không?

  4. Làm thế nào để xuất một chuỗi Base64 sang một tệp, trên phía máy chủ, mà không cần lưu nó trong máy chủ web, trực tiếp bằng PHP?

  5. Làm thế nào để hiển thị các danh mục và danh mục con không kết thúc bằng PHP &MySQL?