2011-09-21 23 views
6

यह सिर्फ पूछने के लिए एक सवाल है:क्या तालिका का आकार INSERT प्रदर्शन को प्रभावित करता है?

उन्नत विषयों या तकनीक (क्लस्टर सूचकांक, बल्क आवेषण, निर्यात/आयात चाल, आदि) के लिए सभी मध्यवर्ती वर्जित, एक सम्मिलित करें अब बड़ा एक मेज ले करता है उगता है?

यह मानता है कि केवल एक ऑटो-इंट कॉलम है, आईडी [यानी, सभी नई पंक्तियां नीचे निहित हैं, जहां किसी विशिष्ट पंक्ति स्थिति को समायोजित करने के लिए कोई स्मृति को घुमाने की आवश्यकता नहीं है]।


एक अच्छा "बेंचमार्किंग MySQL" का लिंक आसान होगा। मैंने स्कूल में ओरेकल लिया, और अब तक ज्ञान ने मुझे SO पर थोड़ा अच्छा किया है।

सभी को धन्यवाद।

उत्तर

5

मेरा अनुभव यह रहा है कि डेटासेट इंडेक्स अब स्मृति में फिट बैठता है तो प्रदर्शन खराब हो जाता है। एक बार ऐसा होने पर, डुप्लिकेट इंडेक्स के लिए चेक डिस्क को हिट करना होगा और यह काफी धीमा हो जाएगा। एक टेबल बनाएं जितना डेटा आपको लगता है कि आपको सौदा करना होगा, और कुछ परीक्षण और ट्यूनिंग करें। यह जानने का सबसे अच्छा तरीका है कि आप क्या करेंगे।

1

मैं केवल अपना अनुभव साझा कर सकता हूं। आशा करता हूँ की ये काम करेगा।

मैं विशाल डेटाबेस (कई लाख प्रविष्टियों) पर उस समय बहुत सारी पंक्तियां डाल रहा हूं। मेरे पास एक स्क्रिप्ट है जो आवेषण निष्पादित करने से पहले और बाद में प्रिंट करती है। अच्छी तरह से मैंने प्रदर्शन में कोई गिरावट नहीं देखी है।

आशा है कि यह आपको एक विचार देगा, लेकिन मैं sslite पर msql पर नहीं हूं।

+0

यदि आप मुझे नमूना आउटपुट परिणामों के साथ अपने प्रदर्शन बेंचमार्किंग स्क्रिप्ट का एक सामान्य संस्करण दिखाते हैं तो मैं आपको सबसे अच्छा जवाब दूंगा। धन्यवाद। – Droogans

+0

यह एक बेंचमार्किंग स्क्रिप्ट नहीं है, जैसा कि मैंने कहा था कि मैं प्रश्नों के पहले और बाद में समय प्रिंट करता हूं, इसलिए मुझे लगता है कि वे कितने समय तक लेते हैं। मैं एक पायथन लिपि का उपयोग करता हूं और यह करने का यह कथन है: प्रिंट datetime.datetime.now()। Strftime ("% एच:% एम:% एस") – Danny

6

हां, लेकिन यह तालिका प्रति आकार का आकार नहीं है लेकिन सूचकांक का आकार महत्वपूर्ण है। एक बार इंडेक्स पुनर्लेखन डिस्क को थ्रैश करना शुरू कर देता है, तो आप एक मंदी देखेंगे। बिना किसी इंडेक्स वाली एक टेबल (बेशक, आपके डेटाबेस में ऐसी कोई चीज़ कभी नहीं होगी) को कोई गिरावट नहीं दिखनी चाहिए। न्यूनतम कॉम्पैक्ट इंडेक्स वाली एक तालिका गिरावट को देखे बिना बहुत अपेक्षाकृत बड़े आकार में बढ़ सकती है। कई बड़े सूचकांक वाली एक तालिका जल्द ही गिरावट शुरू हो जाएगी।

+0

अब "इंडेक्स रीराइटिंग" गुगलिंग ... धन्यवाद। – Droogans

1

गति तब तक प्रभावित नहीं होती है जब तक MySQL स्मृति में पूर्ण अनुक्रमणिका को अपडेट कर सकता है, जब यह सूचकांक को स्वैप करना शुरू हो जाता है तो यह धीमा हो जाता है। यह तब होता है जब आप ALTER TABLE का उपयोग करके तुरंत एक विशाल अनुक्रमणिका का पुनर्निर्माण करते हैं।

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