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

Truy vấn SQL bị mắc kẹt trong trạng thái thống kê

Gần đây tôi đã gặp phải vấn đề tương tự:MySQL bắt đầu bị nghẹt (mắc kẹt trong 'thống kê' trạng thái) trên các truy vấn có rất nhiều bảng được kết hợp với nhau. Tôi đã tìm thấy một bài đăng trên blog tốt giải thích tại sao điều này xảy ra và cách giải quyết.

Về cơ bản, ít nhất trong MySQL 5.5, giá trị mặc định cho tham số cấu hình Optimizer_search_depth là 62 sẽ khiến trình tối ưu hóa truy vấn mất nhiều thời gian hơn theo cấp số nhân khi số lượng bảng trong truy vấn tăng lên. Sau một thời điểm nhất định, sẽ bắt đầu mất nhiều ngày hoặc thậm chí lâu hơn để hoàn thành truy vấn.

Tuy nhiên, nếu bạn đặt Optimizer_search_depth đến 0 trong my.cnf của bạn , MySQL tự động chọn độ sâu phù hợp, nhưng giới hạn ở mức 7, chưa quá phức tạp.

Rõ ràng sự cố này đã được khắc phục trong MySQL 5.6 nhưng tôi chưa tự kiểm tra 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. Không thể thực thi một thủ tục được lưu trữ MySQL từ Java

  2. Làm thế nào để tạo Pagination trong Codeiginter?

  3. MySQL localhost / 127.0.0.1 sự cố

  4. Tôi có thể nối nhiều hàng MySQL vào một trường không?

  5. Khi nào sử dụng SELECT ... FOR UPDATE?