मैंने कुछ साल पहले एक सीखने की परियोजना के रूप में एक गेम के लिए एक आंकड़े साइट विकसित की थी। आज भी इसका उपयोग किया जाता है और मैं इसे थोड़ा साफ करना चाहता हूं।MySQL में बहुत सारे फ़ील्ड?
डेटाबेस एक ऐसा क्षेत्र है जहां सुधार की आवश्यकता है। मेरे पास गेम आंकड़े के लिए एक टेबल है, जिसमें गेमआईडी, प्लेयरआईडी, किल्स, डेथ्स, डैमेजडिल्ट, डैमेजटेकन इत्यादि हैं। कुल मिलाकर, उस तालिका में लगभग 50 फ़ील्ड हैं और भविष्य में कई और जोड़े जा सकते हैं। किस बिंदु पर बहुत सारे क्षेत्र हैं? वर्तमान में इसमें 57,341 पंक्तियां हैं और 153.6 एमआईबी स्वयं ही हैं।
मेरे पास कुछ फ़ील्ड भी हैं जो इस तालिका में बीएलओबी में सरणी संग्रहीत करते हैं। सरणी का एक उदाहरण प्लेयर बनाम प्लेयर मैचअप है। सरणी स्टोर करती है कि उस खिलाड़ी ने गेम में कितनी बार मार डाला था। ये फाइलसाइज में बड़े क्षेत्र हैं। एक बीएलओबी सलाह में एक सरणी भंडारित कर रहा है?
[Killed] => Array
(
[SomeDude] => 13
[GameGuy] => 10
[AnotherPlayer] => 8
[YetAnother] => 7
[BestPlayer] => 3
[APlayer] => 9
[WorstPlayer] => 2
)
ये 10 से अधिक खिलाड़ियों से अधिक नहीं करते हैं:
सरणी की तरह दिखता है।
इसे ईएवी या [एंटिटी-एट्रिब्यूट-वैल्यू] (http://en.wikipedia.org/wiki/Entity-attribute-value_model) कहा जाता है। – Triztian
आह! धन्यवाद ... मैं अपना जवाब संपादित करूंगा। –
आंकड़ों की सारांश तालिका के रूप में, मुझे लगता है कि यह संभवतः यह मानना ठीक है कि गतिशील "अधिक आने" नहीं हैं, और भविष्य में सीमित संख्या में कॉलम जोड़ना चाहते हैं। इसके अलावा, मुझे लगता है कि हर खिलाड़ी प्रत्येक कॉलम का उपयोग करेगा। इसलिए ईएवी की सभी लचीलापन की आवश्यकता नहीं है - हालांकि, मैं मानता हूं कि ईएवी आसानी से इस स्थिति में काम कर सकता है। – Prescott