ปัญหาที่อาจเกิดขึ้นคือประสิทธิภาพและคุณยังไม่มีปัญหาด้านประสิทธิภาพ มีหลายสิ่งที่คุณสามารถทำได้ขึ้นอยู่กับฐานข้อมูลที่เลือกเพื่อจัดการสิ่งนี้ในโซลูชัน # 1: การจัดทำดัชนีฮาร์ดแวร์แคช ฯลฯ ทั้งหมดนี้ขึ้นอยู่กับความถี่ที่ผู้ใช้ต้องการรับจำนวนข้อความที่ยังไม่ได้อ่านในปัจจุบัน ตัวเลือกเหล่านี้จำนวนมากไม่ต้องการการเข้ารหัสที่กำหนดเองในฝั่งแอพดังนั้นคุณสามารถนำไปใช้กับการเปลี่ยนรหัสหรือน้อยมาก ทำให้การเติบโตกับแอปง่ายขึ้น
เมื่อผู้ใช้เชื่อมต่อ / เข้าสู่ระบบการนับจากฐานข้อมูลหนึ่งครั้งก็ไม่เลว แอพของคุณจะรักษารายการข้อความเช่นอีเมลที่อัปเดตตลอดเวลาหรือไม่ การรับจำนวนที่ยังไม่ได้อ่านจากที่นี่ไม่จำเป็นต้องเดินทางไปที่ฐานข้อมูลอีกครั้งและเพื่อรับข้อความใหม่
เดินทางไปที่ db ทุกครั้งที่มีการอ่านข้อความเพื่อตั้งค่าสถานะ IsRead? เขตข้อมูลก็เพียงพอโดยไม่มีการคำนวณใหม่ของเขตข้อมูลอื่น
ด้วยโซลูชัน # 2 (การนับในฟิลด์ / บนดิสก์) คุณจะต้องรูทีนเพื่อสร้าง / คำนวณซ้ำฟิลด์นี้เป็นระยะ ๆ เมื่อมีปัญหาหรือไม่ และมีปัญหาอยู่เสมอ คุณกำลังจะห่อทั้งหมดนี้ในการทำธุรกรรมหรือไม่? ทุกครั้งที่มีคนส่งข้อความถึงบุคคลอื่นอาจล้มเหลวเนื่องจากไม่สามารถอัปเดต UnreadCount ของผู้ใช้ที่ได้รับเนื่องจากล็อคตารางผู้ใช้ หรือคุณจะสร้างตารางแยกต่างหากสำหรับฟิลด์นี้