संभावित समस्या प्रदर्शन है और आपके पास प्रदर्शन समस्या नहीं है, फिर भी। समाधान # 1 में इसे संभालने के लिए आप पसंद के डेटाबेस पर निर्भर करते हुए कई चीजें कर सकते हैं: अनुक्रमण, हार्डवेयर, कैशिंग, आदि। यह सब इस बात पर निर्भर करता है कि उपयोगकर्ता को वर्तमान अपठित संदेश गणना प्राप्त करने की कितनी बार आवश्यकता है। इनमें से कई विकल्पों में ऐप की ओर कस्टम कोडिंग की आवश्यकता नहीं होती है, इसलिए आप उन्हें कोड परिवर्तन या बहुत कम के साथ लागू कर सकते हैं। एप्लिकेशन के साथ विकसित करना आसान बनाता है।
एक बार जब कोई उपयोगकर्ता कनेक्ट / लॉग इन करता है, तो डेटाबेस से एक बार गिनती प्राप्त करना उतना बुरा नहीं है। क्या आपका ऐप ईमेल जैसी संदेशों की लगातार अद्यतन सूची बनाए रखेगा? यहां से अपठित गणना प्राप्त करने के लिए डेटाबेस के लिए एक और यात्रा की आवश्यकता नहीं है और नए संदेश प्राप्त करने के लिए वैसे भी एक db यात्रा लेने जा रहा है।
हर बार जब कोई संदेश पढ़ा जाता है, तो IsRead को फ्लैग करने के लिए एक यात्रा होती है? फ़ील्ड किसी अन्य फ़ील्ड के पुनर्गणना के बिना पर्याप्त है।
# 2 समाधान के साथ (किसी फ़ील्ड में / डिस्क पर गिनती रखते हुए), क्या समस्या होने पर आपको इस क्षेत्र को समय-समय पर पुनर्निर्माण / पुनर्गठित करने के लिए दिनचर्या की आवश्यकता होगी? और हमेशा समस्याएं होती हैं। क्या आप लेन-देन में यह सब लपेटने जा रहे हैं? हर बार जब कोई व्यक्ति किसी और को संदेश भेजता है तो वह विफल हो सकता है क्योंकि यह उपयोगकर्ता तालिका के लॉक होने के कारण उपयोगकर्ता के अनरीडाउंट को अपडेट नहीं कर सकता है? या आप इस क्षेत्र के लिए एक अलग तालिका बनाने जा रहे हैं?