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

Truy vấn theo sau mất quá nhiều thời gian để thực thi. Làm thế nào để tối ưu hóa nó

Tôi nghĩ bạn có thể sử dụng

thay vì THAM GIA.

SELECT m.year, COUNT(m.id) FROM movies m 
where 
exists (select * from roles r where r.movie_id=m.id and 
exists(select * from actors a where a.id=r.actor_id and a.gender='F'))
group by  m.year;

Để hiển thị Tổng số phim mỗi năm cùng với sản lượng trên.

select t1.year,t1.count,t2.total from 
(
SELECT m.year as year, COUNT(m.id) as count FROM movies m 
where exists (select * from roles r where r.movie_id=m.id and exists(select * from actors a where a.id=r.actor_id and a.gender='F'))
group by  m.year
)t1 
join
(select year,count(m.id) as total from movies m group by m.year) t2
on t1.year=t2.year;


  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 để có được tổng số hàng được tìm thấy mà không cần xem xét giới hạn trong PDO?

  2. PHP - Mảng danh sách không có thứ tự (UL) lồng nhau đơn giản

  3. MySQL có thể sử dụng Chỉ mục khi có OR giữa các điều kiện không?

  4. Chef mysql opscode-cookbooks des không hoạt động:không thể tìm thấy ruby ​​công thức cho sách nấu ăn mysql

  5. Chuyển đổi UUID thành / từ nhị phân trong Node