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

तालिका के सभी स्तंभों को अनुक्रमित किया जाना चाहिए या नहीं mysql डेटाबेस?

अनुक्रमणिका बनाने के लिए अतिरिक्त डिस्क स्थान की आवश्यकता होती है, और यह कि बहुत अधिक अनुक्रमणिका फ़ाइल सिस्टम आकार सीमा से उत्पन्न होने वाली समस्याएँ पैदा कर सकती हैं, अनुक्रमणिका के लिए सही फ़ील्ड का चयन करने के लिए सावधानीपूर्वक विचार किया जाना चाहिए।

चूंकि अनुक्रमणिका का उपयोग केवल अभिलेखों के भीतर एक मिलान फ़ील्ड की खोज को गति देने के लिए किया जाता है, इसका कारण यह है कि केवल आउटपुट के लिए उपयोग किए जाने वाले अनुक्रमण फ़ील्ड केवल डिस्क स्थान और प्रसंस्करण समय की बर्बादी होगी जब एक सम्मिलित या हटाएं ऑपरेशन करते हैं, और इस प्रकार से बचा जाना चाहिए। बाइनरी खोज की प्रकृति को देखते हुए, डेटा की कार्डिनैलिटी या विशिष्टता महत्वपूर्ण है। 2 की कार्डिनैलिटी वाले फ़ील्ड पर इंडेक्सिंग डेटा को आधे में विभाजित कर देगी, जबकि 1,000 की कार्डिनैलिटी लगभग 1,000 रिकॉर्ड लौटा देगी। इतनी कम कार्डिनैलिटी के साथ प्रभावशीलता एक रेखीय प्रकार तक कम हो जाती है, और अगर कार्डिनैलिटी रिकॉर्ड संख्या के 30% से अधिक है, तो क्वेरी ऑप्टिमाइज़र इंडेक्स का उपयोग करने से बच जाएगा, प्रभावी रूप से इंडेक्स को स्थान की बर्बादी बना देगा।

स्तंभों के समूह पर अनुक्रमण जोड़ना बेहतर है।



  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 db . में ऑटो-इन्क्रीमेंट में उपसर्ग जोड़ें

  2. डेटाबेस में सभी पंक्तियों को हैश मान के साथ अपडेट करें

  3. उपयोगकर्ता mysql कार्यक्षेत्र में डेटाबेस नहीं देख सकता है

  4. MySQL UTF8 विंडोज निर्यात - लिनक्स आयात

  5. MySQL इंडेक्स कार्डिनैलिटी - प्रदर्शन बनाम स्टोरेज दक्षता