Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

निम्नलिखित क्वेरी को निष्पादित करने में बहुत अधिक समय लग रहा है। इसे कैसे ऑप्टिमाइज़ करें

मुझे लगता है कि आप

. का उपयोग कर सकते हैं

जॉइन के बजाय।

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;

उपरोक्त आउटपुट के साथ प्रति वर्ष कुल मूवी प्रदर्शित करने के लिए।

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. MySQL डेटाबेस में सभी तालिकाओं के लिए रिकॉर्ड गणना प्राप्त करें

  2. Mysqli तैयार स्टेटमेंट डेटाबेस में इमेज इंसर्ट को तोड़ता है

  3. SQL वर्कर कॉलम लंबाई के लिए सर्वोत्तम अभ्यास

  4. कोडनिर्देशक में सक्रिय रिकॉर्ड योग

  5. 255 वर्णों से अधिक स्ट्रिंग्स की अनुमति देने के लिए हाइबरनेट-मैपिंग कैसे सेट करें?