2010-12-09 11 views
25

मैं अपने जीवन के लिए नहीं जानता कि एक पृष्ठ क्या है, एक MySQL डेटाबेस के संदर्भ में। जब मुझे 8 केबी/पेज की तरह कुछ दिखाई देता है, तो क्या इसका मतलब प्रति पंक्ति 8 केबी है या ...?MySQL: एक पृष्ठ क्या है?

उत्तर

17

डेटाबेस पेज डेटाबेस फ़ाइलों में डेटा व्यवस्थित करने के लिए आंतरिक मूल संरचना हैं। इनो डीडी मॉडल के बारे में कुछ जानकारी यहां दी गई है।

13.2.11.2. File Space Management से:

कि आप विन्यास फाइल में परिभाषित डेटा फ़ाइलों InnoDB टेबल-स्पेस के रूप में। टेबलस्पेस बनाने के लिए फ़ाइलों को तार्किक रूप से संयोजित किया जाता है। [...] टेबलस्पेस में 16KB के डिफ़ॉल्ट आकार वाले डेटाबेस पेज होते हैं। पृष्ठों को आकार 1 एमबी (लगातार 64 पृष्ठों) के विस्तार में समूहीकृत किया जाता है। एक टेबलस्पेस के अंदर "फाइलें" को इनो डीबी में सेगमेंट कहा जाता है।

और 13.2.14. Restrictions on InnoDB Tables

से InnoDB में डिफ़ॉल्ट डेटाबेस पृष्ठ आकार 16KB है। कोड को पुन: संकलित करके, आप इसे 8 केबी से 64 केबी तक के मानों पर सेट कर सकते हैं।

इसके अलावा, पृष्ठों के संबंध में पंक्तियों डाल करने के लिए:,

अधिकतम पंक्ति लंबाई चर लंबाई कॉलम (VARBINARY, VARCHAR, ब्लॉब और पाठ) के अलावा, थोड़ा कम है डेटाबेस पेज के आधे से अधिक। यही है, अधिकतम पंक्ति लंबाई लगभग 8000 बाइट है। LONGBLOB और LONGTEXT कॉलम 4 जीबी से कम होना चाहिए, और बीओएलबी और टेक्स्ट कॉलम समेत कुल पंक्ति लंबाई 4 जीबी से कम होनी चाहिए।

+2

तो मूल रूप से, यह एक पुस्तक में एक भौतिक पृष्ठ के समान है, जिसमें एकाधिक पंक्तियां (पाठ की रेखाएं) हो सकती हैं? – Matty

+5

हां, आप इसके बारे में सोच सकते हैं। यदि उपरोक्त MySQL प्रतिबंध लागू करते हैं, तो एक पंक्ति एक वाक्य की तरह अधिक होगी जो आधे पृष्ठ से अधिक नहीं होनी चाहिए। (पाठ की एक पंक्ति लंबाई में तय की जाएगी, जो डेटाबेस पंक्ति के लिए सच नहीं है।) – MicSim

4

यह आकार का आकार है जिसे डिस्क और स्मृति में संग्रहीत/पढ़ा/लिखा गया है।

विभिन्न पृष्ठ आकार अलग-अलग काम लोड/डेटा सेट के लिए बेहतर या बदतर काम कर सकते हैं; यानी कभी-कभी आप प्रति पृष्ठ अधिक पंक्तियां, या प्रति पृष्ठ कम पंक्तियां चाहते हैं। ऐसा कहकर, डिफ़ॉल्ट पृष्ठ आकार अधिकांश अनुप्रयोगों के लिए ठीक है।

ध्यान दें कि "पेज" MySQL के लिए अद्वितीय नहीं हैं। यह सभी डेटाबेस के लिए पैरामीटर का एक पहलू है।

16

खैर,

इसकी वास्तव ने MySQL के बारे में प्रश्न इसकी क्या पृष्ठ आकार स्मृति प्रबंधन में सामान्य रूप में है के बारे में अधिक। http://en.wikipedia.org/wiki/Page_(computer_memory)

आप डेटा है कि विमर्श/संग्रहीत किया जाता है की अपनी सबसे छोटी इकाई डाल:

आप यहाँ उस के बारे में पढ़ सकते हैं।

डिफ़ॉल्ट पृष्ठ का आकार 4k है जो शायद ठीक है।

यदि आपके पास बड़े डेटा सेट हैं या केवल बहुत कम लिखने के संचालन हैं तो यह पेज आकार बढ़ाने के लिए प्रदर्शन में सुधार कर सकता है। http://db.apache.org/derby/manuals/tuning/perf24.html

क्यों:

यहाँ एक नज़र है? क्योंकि एक बार में अधिक डेटा प्राप्त/संबोधित किया जा सकता है। यदि संभावना अधिक है कि वांछित डेटा आपके द्वारा अभी प्राप्त किए गए डेटा के करीब निकटता में है, या सीधे बाद में (अच्छी तरह से यह वास्तव में 3 डी स्पेस में नहीं है, लेकिन मुझे लगता है कि आपको मेरा मतलब है), आप इसे केवल एक साथ ला सकते हैं ऑपरेशन और सामान्य रूप से आपकी हार्ड ड्राइव से कई कैशिंग और डेटा फ़ेचिंग तकनीकों का बेहतर लाभ उठाएं।

लेकिन दूसरी तरफ आप जगह बर्बाद करते हैं यदि आपके पास डेटा है जो पेज आकार को भरता नहीं है या बस कुछ और कुछ है।

मुझे व्यक्तिगत रूप से ऐसा कोई मामला नहीं था जहां पेज आकार को ट्यून करना महत्वपूर्ण था। प्रदर्शन को अनुकूलित करने के लिए हमेशा बेहतर दृष्टिकोण थे, और यदि नहीं, तो यह पहले से ही पर्याप्त तेज़ था।

संबंधित मुद्दे