आइए उनकी तुलना करते हैं
विभाजित आकार
यदि आपके पास निम्नलिखित हैं:
- एक तालिका में 100 मिलियन पंक्तियाँ
- BTREE अनुक्रमण
- BTREE में प्रत्येक पृष्ठ में 1024 कुंजियाँ हैं
मीट्रिक कैसा दिखेगा?
चूंकि लॉग (100000000) / लॉग (2) = 26.575424759099, बीटीआरई सूचकांक 1024 कुंजी प्रति पृष्ठ ट्रीनोड में केवल 3 की पेड़ की ऊंचाई होगी (CEILING (लॉग (100000000) / लॉग) (1024))। केवल तीन पृष्ठों के नोड्स के साथ, प्रत्येक एक्सेस किए गए ट्रीनोड में आवश्यक कुंजी के लिए एक द्विआधारी खोज के परिणामस्वरूप लगभग 30 कुंजियों को छंटाई और अलग किया जाएगा।
विभाजन की संख्या
यदि आपके पास निम्नलिखित हैं:
- एक तालिका में 100 मिलियन पंक्तियाँ
- BTREE अनुक्रमण
- BTREE में प्रत्येक पृष्ठ में 1024 कुंजियाँ हैं
- आप 1024 परिमाण बनाते हैं
संख्या थोड़ी भिन्न होगी।
प्रत्येक विभाजन में लगभग 97656 पंक्तियाँ होनी चाहिए। अब मेट्रिक्स क्या बनेंगे?
चूंकि लॉग (97656) / लॉग (2) = 16.575421065795, बीटीआरई सूचकांक 1024 कुंजी प्रति पृष्ठ टरिनोड के साथ केवल 2 की पेड़ की ऊंचाई होगी (CEILING (लॉग (97656) / लॉग) (1024))। केवल दो पृष्ठों के नोड्स के साथ, प्रत्येक एक्सेस किए गए ट्रीनोड में आवश्यक कुंजी के लिए एक द्विआधारी खोज के परिणामस्वरूप लगभग 20 कुंजियों को छंटाई और अलग किया जाएगा।
निष्कर्ष
चाबियों को फैलाने से सिर्फ एक पेड़ का स्तर निकल जाता है, लेकिन अनिवार्य रूप से 1024 सूचकांक बनाता है। प्रश्नों में अंतर नहीं पता चलेगा। विभाजन के पक्ष में खोज का समय संभवतः नाममात्र होगा। हालाँकि, सुनिश्चित करें कि सभी डेटा सक्रिय है। अन्य, आप केवल कुछ विभाजन मार सकते हैं, जबकि शायद ही कभी एक्सेस किए गए डेटा के साथ अन्य विभाजन केवल स्थान लेते हैं और विभाजन को सही ठहराने के लिए कभी-कभी पर्याप्त रूप से एक्सेस नहीं किए जाते हैं । इस बारे में चिंता करने के लिए आपके पास अलग-अलग प्रदर्शन मीट्रिक हो सकते हैं, जो अधिक धुंधला हैं (जैसे कि XFS में आंतरिक डीफ़्रैग्मेंटेशन , ext3 बनाम ext4, आदि) आपको यह भी चिंता करने की आवश्यकता है कि आप किस संग्रहण इंजन का उपयोग कर रहे हैं क्योंकि:
- माईस्टैम की तुलना में इनोबीडी इंडेक्सिंग थोड़ा गड़बड़ हो जाएगा क्योंकि एक क्लस्टर इंडेक्स को प्रबंधित करने के लिए
- InnoDB ibdata1 के साथ-साथ वर्तमान लॉग फ़ाइल (ib_logfile0 या ib_logfile1) में डेटा का दोहरा लेखन करता है