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

क्या MySQL स्वचालित रूप से उपश्रेणियों का अनुकूलन करता है?

दुर्भाग्य से, MySQL IN के साथ उपश्रेणियों को अनुकूलित करने में बहुत अच्छा नहीं है। यह MySQL प्रलेखन से है :

इसके बजाय जॉइन का उपयोग करने का प्रयास करें।

चूंकि MySQL अंदर से बाहर काम करता है, कभी-कभी आप सबक्वायरी को एक और सबक्वायरी के अंदर लपेटकर MySQL को चकमा दे सकते हैं:

SELECT COUNT(*) FROM table_name WHERE device_id IN
     (SELECT * FROM (SELECT DISTINCT device_id FROM table_name WHERE NAME = 'SOME_PARA') tmp)

ये है जॉइन सॉल्यूशन:

SELECT COUNT(DISTINCT t2.id) FROM table_name t1
  JOIN table_name t2
    ON t2.device_id = t1.device_id
  WHERE t1.NAME = 'SOME_PARA'

ध्यान दें कि मैं अंदर से शुरू करता हूं और बाहर भी जाता हूं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जहां स्थिति के लिए मानों की सूची के साथ पांडा 'read_sql'

  2. MySQL - संग्रहीत कार्यविधि अप्रत्याशित मान लौटाती है

  3. वर्कर (255) बनाम टिनीटेक्स्ट/टिनीब्लॉब और वर्कर (65535) बनाम ब्लॉब/टेक्स्ट

  4. मैं MySQL में गैर-ASCII वर्ण कैसे ढूंढ सकता हूं?

  5. क्या मैं एक ऐप इंजन एप्लिकेशन के साथ एक MySQL डेटाबेस का उपयोग कर सकता हूं