2012-02-21 9 views
5

मेरे पास एक बहुत बड़ी तालिका है जिसमें लगभग 20 मिलियन पंक्तियां हैं। मुझे कुछ फ़िल्टरिंग मानदंडों के आधार पर इस तालिका से कुछ 4 मिलियन पंक्तियां प्राप्त करनी होंगी। फ़िल्टरिंग मानदंडों में सभी कॉलम कुछ इंडेक्स और टेबल आंकड़ों से ढके हैं, अद्यतित हैं।एक बड़ी तालिका से एक समय में लाने के लिए इष्टतम पंक्ति आकार

मुझे सुझाव दिया गया है कि एक ही बार में सभी पंक्तियां लोड करने के बजाय, बैच आकार का उपयोग करें। एक समय में 80000 पंक्तियों का कहना है और यह एक समय में सभी पंक्तियों को लोड करने की तुलना में तेज़ होगा।

क्या आप सुझाव दे सकते हैं कि यह विचार समझ में आता है या नहीं?

यदि यह समझ में आता है, तो एक समय में लोड करने के लिए इष्टतम पंक्ति आकार क्या होगा।

+0

चुनी हुई पंक्तियां के साथ क्या करने की कोशिश कर रहे हैं क्या? –

+0

मुझे इन डीबी पंक्तियों को स्मृति में लोड करना है और मेमोरी कैश में कुछ चीजों को बनाए रखना है – ManojGumber

+0

ठीक है, 'ऑर्डर बाय' क्लॉज (जो क्वेरी के प्रदर्शन पर महत्वपूर्ण प्रभाव डाल सकता है) का उपयोग करने के अलावा, मैं नहीं हूं सुनिश्चित करें कि आप कैसे गारंटी दे पाएंगे कि एक पंक्ति एक से अधिक बैच में दिखाई नहीं देगी। –

उत्तर

1
  1. यह एकल एसक्यूएल से बहुत तेज हो सकता है।
  2. पीके का उपयोग कर डेटा विभाजित करें।
  3. बैच आकार। यह लाइनों और प्रसंस्करण के समय की लंबाई पर निर्भर करता है। 10 000 के साथ शुरू करें।
  4. यदि संभव हो तो थ्रेड जॉब।
0

लघु उद्योगों उपयोग करके अपने डेटा हेरफेर करने के लिए ... यह सब कुछ आप सूत्रण और लोड आकार और कैश पर अनुकूलन की तरह चाहते हैं कर रहे हैं नहीं करता है।

स्पिन अप एक घन या व्यापार खुफिया डाटा गोदाम उपकरण में देखो ...

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