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

MySQL अनुक्रमित TIMESTAMP कॉलम पर फाइलसॉर्ट का उपयोग करता है

इस मामले में, MySQL सॉर्टिंग के लिए आपकी अनुक्रमणिका का उपयोग नहीं कर रहा है, और यह एक अच्छी बात है।क्यों? आपकी तालिका में सिर्फ 64k पंक्तियाँ हैं, औसत पंक्ति की चौड़ाई लगभग 26 बाइट्स है (यदि मैंने कॉलम आकार सही जोड़ा है), तो डिस्क पर कुल तालिका का आकार लगभग 2MB होना चाहिए। डिस्क से मेमोरी में सिर्फ 2MB डेटा पढ़ना बहुत सस्ता है (शायद केवल 1-2 डिस्क संचालन या तलाश में) और फिर बस मेमोरी में फाइलसॉर्ट करें (शायद क्विकॉर्ट की भिन्नता)।

यदि MySQL ने आपकी इच्छानुसार अनुक्रमणिका क्रम द्वारा पुनर्प्राप्ति की है, तो उसे 64000 डिस्क खोज संचालन करना होगा, एक के बाद एक रिकॉर्ड! यह बहुत, बहुत धीमा होता।

अनुक्रमणिकाएँ तब अच्छी हो सकती हैं जब आप उनका उपयोग बड़ी फ़ाइल में ज्ञात स्थान पर शीघ्रता से करने के लिए कर सकते हैं और केवल थोड़ी मात्रा में डेटा पढ़ सकते हैं, जैसे WHERE क्लॉज में। लेकिन, इस मामले में, यह अच्छा विचार नहीं है - और MySQL बेवकूफ नहीं है!

यदि आपकी तालिका बहुत बड़ी थी (RAM आकार से अधिक), तो MySQL निश्चित रूप से आपके सूचकांक का उपयोग करना शुरू कर देगा - और यह भी अच्छी बात है।



  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. अल्पविराम से अलग किए गए मानों को अलग-अलग पंक्तियों में विभाजित करें

  3. क्या यह SQL या अलग-अलग प्रश्नों में एक संघ के लिए बेहतर है और फिर php array_merge का उपयोग करें?

  4. mysql क्वेरी में मौजूद नहीं है या नहीं के साथ आंतरिक रूप से कैसे जुड़ें?

  5. बैक बटन के कारनामों को रोकें? पीएचपी