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

Truy vấn mysql chậm, sao chép vào bảng tmp, sử dụng filesort

NULL so với NOT NULL - Sử dụng NOT NULL trừ khi bạn có lý do công việc cho NULL .

Sử dụng InnoDB với PRIMARY KEY có liên quan trên mỗi bàn. Điều đó có thể sẽ nhanh hơn.

"Sử dụng chỉ mục", nếu nó có ý nghĩa, sẽ giúp một số.

product.categoryid = 4871 không thuộc về ON mệnh đề cho vendorimport; di chuyển nó đến một WHERE mệnh đề. (Điều này sẽ không làm tăng tốc độ.)

Truy vấn của bạn không thể là trình tối ưu hóa nữa - nó phải thực hiện tất cả các THAM GIA và phân phối tất cả các hàng.

Nhưng ... Bạn có thực sự muốn 3917 hàng đầu ra? Bạn giải quyết vấn đề đó được chứ? Có thể bạn chỉ muốn một vài trong số chúng và có thể lọc chúng trong suốt quá trình CHỌN? Điều đó có thể tăng tốc mọi thứ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C # - MySQL và Microsoft SQL Server

  2. Làm thế nào để nhiều kết quả truy vấn để giảm số lượng truy vấn?

  3. Cách thêm Zeros hàng đầu vào một số trong MySQL

  4. Dấu bằng kép trong MySQL

  5. Không có tập kết quả tiếp theo. Vui lòng gọi mysqli_more_results () / mysqli ::more_results () để kiểm tra xem có gọi hàm / phương thức này không