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

मेरी बहु-स्तंभ क्वेरी, बहु-स्तंभ अनुक्रमणिका के साथ भी, संबंधित एकल-स्तंभ प्रश्नों की तुलना में नाटकीय रूप से धीमी क्यों है?

क्या आपने एक इंडेक्स बनाया था stop_id, departure_time ? क्योंकि departure_time, stop_id बिल्कुल कुछ नहीं करेंगे।

यह एक वास्तव में . है कठिन - इंडेक्स से निपटने के लिए इसमें हर संभव बुरी चीज है :(

आपके पास एक श्रेणी है, एक OR और एक गैर सन्निहित IN - यह उससे भी बदतर नहीं है।

stop_id, departure_time आज़माएं और अगर यह मदद नहीं करता है तो आप PostgreSQL पर स्विच करने के अलावा और कुछ नहीं कर सकते।

आप क्वेरी को फिर से लिखने का भी प्रयास कर सकते हैं:

SELECT * 
from stop_times 
WHERE ( stop_times.stop_id IN(51511,51509,51508,51510,6,53851,51522,51533)
      AND departure_time BETWEEN '02:41' AND '05:41'
      )
   OR ( stop_times.stop_id IN(51511,51509,51508,51510,6,53851,51522,51533)
      AND departure_time BETWEEN '26:41' AND '29:41' 
      ) 

या:

    SELECT * 
    from stop_times 
    WHERE ( stop_times.stop_id IN(51511,51509,51508,51510,6,53851,51522,51533)
          AND departure_time BETWEEN '02:41' AND '05:41'
          )
UNION ALL
    SELECT * 
    from stop_times 
    WHERE ( stop_times.stop_id IN(51511,51509,51508,51510,6,53851,51522,51533)
          AND departure_time BETWEEN '26:41' AND '29:41' 
          )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पायथन के साथ एसक्यूएल इन क्लॉज को स्ट्रिंग कैसे करें

  2. वीएस 2019 और MySQL एंटिटी फ्रेमवर्क डुप्लिकेट डेटाबेस नाम

  3. SQL में किसी अन्य कॉलम में निर्दिष्ट सामान्य मानों के साथ टुपल्स निकालें

  4. जावा सर्वलेट का उपयोग करके MySQL डेटाबेस से छवि कैसे पुनर्प्राप्त करें और इसे HTML img टैग में दिखाएं?

  5. जेसन कॉलम बनाम एकाधिक कॉलम