मैं डेटाबेस तैयार कर रहा हूं और मैं डेटाबेस को सामान्य बनाना चाहता हूं। एक प्रश्न में मैं लगभग 30-40 टेबल में शामिल हो जाऊंगा। क्या यह वेबसाइट प्रदर्शन को चोट पहुंचाएगा यदि यह कभी भी बेहद लोकप्रिय हो जाता है? यह मुख्य प्रश्न होगा और इसे 50% समय कहा जाएगा। अन्य प्रश्न मैं दो टेबल में शामिल हो जाऊंगा।क्या सामान्यीकरण उच्च ट्रैफिक साइटों में प्रदर्शन को वास्तव में नुकसान पहुंचाता है?
मेरे पास सामान्यीकरण करने के लिए अभी सामान्य विकल्प है या नहीं, लेकिन अगर सामान्यीकरण भविष्य में कोई समस्या बन जाता है तो मुझे सॉफ़्टवेयर का 40% फिर से लिखना पड़ सकता है और यह मुझे काफी समय ले सकता है। क्या इस मामले में सामान्यीकरण वास्तव में चोट पहुंचाता है? क्या मुझे समय होने पर अब denormalize करना चाहिए?
आप इस तरह के बड़े पैमाने पर फिर से लेखन कोड (आपका का 40%) जोखिम के लिए नहीं होना चाहिए। आप सामान्यीकृत शुरू लेकिन अगर दृश्य आपके कोड के अधिकांश के लिए आवश्यक कपोल-कल्पना प्रदान करने के लिए ... तो यह घटना में सबसे कोड में परिवर्तन है कि आप योजना में denormalize की जरूरत को समाप्त करना चाहिए के साथ कि अमूर्त परत के रूप में उपस्थित अपने विचार करना चाहिए। यदि आप एक ग्राहक के पते बदल सकते हैं, बजाय एक स्थान में इसे बदलने का आप अब बदलने के लिए कभी denormalized तालिका में प्रत्येक पंक्ति स्कैन करने के लिए है - भूमि के ऊपर के बारे में पता शामिल है जब आप denormalized टेबल अद्यतन करने की आवश्यकता (काम की राशि के मामले में) हो –
यह। शायद एक दृश्य आपका सबसे अच्छा विकल्प है, और यदि यह अभी भी बहुत धीमा है तो डेटाबेस में अधिक हार्डवेयर संसाधन आवंटित करें। – slugster
मैं जानना चाहता हूं कि आपको पहले स्थान पर 30-40 टेबल क्यों चाहिए - और इन्हें क्यों शामिल किया जाना चाहिए। यह मेरे लिए सही प्रतीत नहीं होता है इसलिए मैं आपको यह बताना चाहता हूं कि टेबल क्या कर रहे हैं। –