Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kueri berikut membutuhkan waktu terlalu lama untuk dieksekusi. Bagaimana cara mengoptimalkannya?

Saya pikir Anda dapat menggunakan

bukannya GABUNG.

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;

Untuk menampilkan Total Film Per Tahun beserta output di atas.

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. Menyortir ulang kolom id dalam tabel MySQL?

  2. menggunakan sql concat() di Django untuk menggabungkan dua kolom

  3. Mysql AVG untuk mengabaikan nol

  4. Di mana A=1 DAN A=2 mengembalikan 0 masalah baris - (Pertanyaan singkat Mysql)

  5. Tabel pivot MySQL menggunakan java