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

इस चयन क्वेरी को समाप्त होने में 180 सेकंड लगते हैं

(मेरी टिप्पणी को एक उत्तर के रूप में पोस्ट करने के रूप में स्पष्ट रूप से इससे कोई फर्क पड़ता है!)

अगर कोई इसकी आगे जांच करना चाहता है तो मैंने अभी एक परीक्षण किया है और इसे पुन:पेश करना बहुत आसान पाया है।

तालिका बनाएं

CREATE TABLE `filler` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) 

प्रक्रिया बनाएं

CREATE PROCEDURE `prc_filler`(cnt INT)
BEGIN
        DECLARE _cnt INT;
        SET _cnt = 1;
        WHILE _cnt <= cnt DO
                INSERT
                INTO    filler
                SELECT  _cnt;
                SET _cnt = _cnt + 1;
        END WHILE;
END

पॉप्युलेट टेबल

  call prc_filler(5000)

प्रश्न 1

SELECT id 
FROM filler 
WHERE id =  (SELECT MAX(id) FROM filler  WHERE id =   
 ( SELECT MIN(id) 
    FROM filler
    WHERE id between 2000 and 3000
    )
  )

बराबर व्याख्या आउटपुट http://img689.imageshack.us/img689/5592/equals. png

प्रश्न 2 (एक ही समस्या)

SELECT id 
FROM filler 
WHERE id in  (SELECT MAX(id) FROM filler  WHERE id in   
 ( SELECT MIN(id) 
    FROM filler
    WHERE id between 2000 and 3000
    )
  )

आउटपुट के बारे में बताएं http://img291.imageshack.us/img291/8129/52037513. png



  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 क्वेरी के WHERE क्लॉज में कॉलम उपनाम का उपयोग करने से त्रुटि उत्पन्न होती है

  2. पूर्वनिर्धारित क्रम में रिटर्निंग क्वेरी परिणाम

  3. एक ही कॉलम पर कई WHERE शर्तों के साथ चयन करना

  4. UTF-8 वर्ण एन्कोडिंग लड़ाई json_encode ()

  5. एसक्यूएल में गणित ऑपरेटरों में उपनाम का उपयोग कैसे करें?