क्या बहुत छोटी तालिकाओं (1000 पंक्तियों तक) के लिए सूचकांक का उपयोग करने का कोई कारण है?


9

एप्लिकेशन डेवलपमेंट के दौरान मेरे पास बहुत सारे टेबल हैं जो डेटा की "छोटी" मात्रा (आमतौर पर 10-40 मान, id+ valueऔर कभी-कभी type) को स्टोर करते हैं जो उत्पादों के लिए ताजा / सड़ा हुआ, लाल / हरा / नीला जैसे "ऑब्जेक्ट" के लिए विशेषता रखते हैं।

मैं इस विशेषता को उत्पाद तालिका में नहीं रखता क्योंकि इलेक्ट्रॉनिक घटक ताज़ा नहीं हो सकते, और ऑक्सीजन गैस लाल नहीं हो सकती और तालिकाओं में असीमित पंक्तियाँ नहीं हो सकतीं ...

विशेषताओं को संग्रहीत करने के लिए मैं कस्टम छोटे तालिकाओं का उपयोग करता हूं, जहां 2-3 फ़ील्ड: idलिंक करने के लिए, nameआवेदन में दिखाने के लिए और कभी-कभी typeयदि एक ही श्रेणी के समूह।

प्राथमिक "ऑब्जेक्ट्स" मध्यवर्ती कई-से-कई तालिकाओं के माध्यम से विशेषताओं से जुड़ा हुआ है।

1000 से कम वस्तुओं (आमतौर पर 10-40) के साथ उन "छोटे शब्दकोशों" के लिए अनुक्रमित बनाने और बनाए रखने का कोई कारण है?

मेरा लक्ष्य डेटाबेस ओरेकल है लेकिन मुझे आशा है कि उत्तर विक्रेता स्वतंत्र ...

मैं भरता हूं - नहीं, लेकिन मेरे भरने को सही ठहराने के लिए कोई तकनीकी कौशल नहीं है ...

जवाबों:


14

आम तौर पर हाँ। एक इंडेक्स की कमी के कारण एक्सेस पैटर्न को हर पंक्ति का निरीक्षण करना पड़ता है , बस यह देखने के लिए कि क्या आपकी ज़रूरत है या नहीं। मुद्दा तालिका का आकार नहीं है, लेकिन संगामिति है। आपके अलगाव स्तर के आधार पर, आपके स्कैन पंक्तियों के लिए प्रतीक्षा करने के लिए अनअमाइंड ट्रांज़ेक्शन के पीछे ब्लॉक हो सकते हैं जो अंततः अनलॉक किए जाने वाले 'अनइंटरस्टिंग' होते हैं। क्योंकि आपका स्कैन हर पंक्ति में 'देखने' की गारंटी है, हर स्कैन किसी भी लिखने (डालने, हटाने या अपडेट) के पीछे अवरुद्ध हो जाएगा । ओरेकल स्नैपशॉट अलगाव के लिए चूक करता है जो इस स्थिति में ठीक है (अवरुद्ध नहीं) लेकिन अन्य विक्रेताओं को कुछ और करने के लिए डिफ़ॉल्ट, जैसे। एसक्यूएल सर्वर डिफ़ॉल्ट पढ़ें प्रतिबद्ध जो होगा करता ब्लॉक।

एक इंडेक्स प्रेजेंट के साथ आपका एक्सेस पैटर्न केवल संबंधित पंक्तियों (वांछित कुंजी रेंज के भीतर) पर दिखेगा इसलिए लॉक संघर्ष को मारने का शुद्ध सांख्यिकीय मौका बहुत कम हो जाता है।


स्पष्टीकरण के लिए धन्यवाद, मेरे पास एक अनुवर्ती प्रश्न है (इसके बावजूद अब 3 साल बाद)। क्या 3 या 4 पंक्तियों के साथ बहुत छोटे तालिकाओं के बारे में?
रोब

प्रमाणित छोटी तालिकाओं (जो 1-2 पृष्ठों में फिट होती हैं) बहुत स्कैन की जाएंगी
रेमस रुसानु

@Remus को MySQL पर सूचकांक बनाने की आवश्यकता है
सिंह कैलाश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.