यदि आप मिलीसेकंड माप रहे हैं और आपके सिस्टम का डिस्क IO बहुत धीमा नहीं है, तो विकल्प 2 बेहतर प्रदर्शन देगा। लेकिन , हम निष्पादन समय में नगण्य लाभ की बात कर रहे हैं। चूंकि आप समाचार आइटम प्राप्त करने के लिए पहले से ही डीबी से पूछताछ कर रहे होंगे, इसलिए इसे एक ही समय में श्रेणी का नाम प्राप्त करने के लिए अत्यधिक अनुकूलित किया जाएगा। मैं श्रेणी-नाम-आईडी . की मैपिंग तालिका जोड़ूंगा से श्रेणी-नाम . और समाचार आइटम प्राप्त करते समय उस पर शामिल हों।
लचीलेपन के दृष्टिकोण से और त्रुटि के अधिक से अधिक संभावित स्रोतों को समाप्त करने के दृष्टिकोण से मैं भी अपने उपरोक्त विचार के साथ जाऊंगा। चूंकि यह आपके सिस्टम में लचीलापन जोड़ता है और आपके सभी डेटा को एक स्थान पर रखता है। किसी श्रेणी का नाम बदलने के लिए एक php कॉन्फिग फ़ाइल को संपादित करने के बजाय एक कॉलम i डेटाबेस को संपादित करने की आवश्यकता होगी या, यदि विकल्प 1 का उपयोग किया गया था, तो प्रत्येक समाचार रिकॉर्ड को अपडेट करना।
तो मेरी सबसे अच्छी सलाह, श्रेणी-नाम-आईडी . के साथ एक तालिका जोड़ें से श्रेणी-नाम मैपिंग और फिर समाचार-वस्तुओं में उस श्रेणी की आईडी होती है जिससे वे संबंधित हैं।
प्रदर्शन के लिए आप उस डेटा को कैश कर सकते हैं जिसे आप मौजूदा श्रेणियों और अन्य डेटा के बारे में पुनर्प्राप्त करते हैं ताकि आपको हर समय उस जानकारी के लिए डीबी मतदान न करना पड़े।
उदाहरण के लिए। आप इसमें शामिल होने के बजाय, ऊपर वर्णित श्रेणी तालिका से सभी श्रेणियां प्राप्त कर सकते हैं। इसे एप्लिकेशन में कैश करें और कैश के अमान्य होने के बाद ही इसे प्राप्त करें। यानी एक टाइमआउट होता है या डीबी में डेटा में हेरफेर किया जाता है।