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

MySQL में UNION प्रश्न इतने धीमे क्यों हैं?

क्या आपके प्रश्नों में ORDER BY … LIMIT . शामिल हैं खंड?

यदि आप ORDER BY … LIMIT . डालते हैं UNION . के बाद , यह संपूर्ण UNION . पर लागू हो जाता है , और इस मामले में अनुक्रमणिका का उपयोग नहीं किया जा सकता है।

अगर id प्राथमिक कुंजी है, यह क्वेरी तुरंत होगी:

SELECT  *
FROM    table
ORDER BY id
LIMIT 1

, लेकिन यह नहीं होगा:

SELECT  *
FROM    table
UNION ALL
SELECT  *
FROM    table
ORDER BY id
LIMIT 1

यह ORDER BY . के कारण भी प्रतीत होता है . छोटे सेट को क्रमित करना बड़े सेट की तुलना में तेज़ होता है।

क्या आपको परिणामी सेट को क्रमबद्ध करने की आवश्यकता है?

यदि नहीं, तो अंतिम ORDER BY से छुटकारा पाएं ।



  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. MySQL एक डेटाबेस से दूसरे में सम्मिलित करें

  3. mysql वापसी शून्य में उपयोगकर्ता परिभाषित चर सेट करें?

  4. IN और सबक्वेरी के साथ MYSQL अद्यतन

  5. JSON_SET () बनाम JSON_INSERT () बनाम JSON_REPLACE () MySQL में:क्या अंतर है?