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

MySQL - कब तक इंडेक्स बनाना है?

विचार करने के लिए कुछ कारक हैं:

  • सॉर्टिंग एक N.log(N) ऑपरेशन है।
  • 14M पंक्तियों के लिए सॉर्ट मुख्य मेमोरी में अच्छी तरह से फिट हो सकता है; 500M पंक्तियों वाला सॉर्ट शायद नहीं करता है, इसलिए सॉर्ट डिस्क पर फैल जाता है, जो चीजों को बहुत धीमा कर देता है।

चूंकि कारक आकार में लगभग 30 है, बड़े डेटा सेट के लिए नाममात्र सॉर्ट समय 50 गुना लंबा - दो घंटे से कम के क्रम का होगा। हालांकि, आपको 8 बाइट्स प्रति डेटा मान और लगभग 8 बाइट्स ओवरहेड की आवश्यकता है (यह एक अनुमान है - mySQL को ट्यून करें यदि आप इसके बारे में अधिक जानते हैं कि यह किसी इंडेक्स में क्या स्टोर करता है)। तो, 14M × 16 ≈ 220 MB मुख्य मेमोरी। लेकिन 500M × 16 ≈ 8GB मेन मेमोरी। जब तक आपकी मशीन में इतनी मेमोरी नहीं बची है (और 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. My Sql डेटाबेस में AspNet.Identity core का उपयोग कैसे करें?

  2. group_concat परिणाम IN स्थिति में काम नहीं करता

  3. एक बड़ी MySQL तालिका को कई छोटी फ़ाइलों के रूप में निर्यात करें

  4. जहां mysql खंड में

  5. MySQL में ऑप्टिमाइज़ किए गए सेलेक्ट टेबल का अर्थ योजना की व्याख्या करें