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

Làm cách nào để tối ưu hóa truy vấn này, mất hơn một phút để thực thi

Người lập kế hoạch, rất có thể, không sử dụng limit gợi ý để loại bỏ các hàng khỏi bảng thứ tự trước khi tham gia. Vì vậy, máy chủ phải thực hiện phép nối cho tất cả các hàng và sau đó chỉ trả về một vài hàng.

Hãy thử điều này:

select o.* from
(select * order order by id desc limit 100) o
inner join product p 
on o.product_id=p.id 
inner join person per 
on o.person_id=per.id 
order by o.id desc limit 100;

CHỈNH SỬA:Điều này sẽ chỉ hoạt động nếu có một ràng buộc đảm bảo rằng các hàng tương ứng có trong bảng Sản phẩm và Người.



  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 cách nào để thêm các điều kiện trong các mô hình con phụ trong phần tiếp theo, điều này sẽ ảnh hưởng đến Mô hình mẹ của tôi trong findAndCountAll?

  2. Làm cách nào để tạo ra các lỗi nghiêm trọng của TẤT CẢ các cảnh báo mysql?

  3. Nối một chuỗi và Id khóa chính trong khi chèn

  4. Thêm dữ liệu vào dữ liệu hiện có trong Cơ sở dữ liệu MySQL

  5. Kết nối với Mysql trên AWS Elastic Beanstalk