(हां, मैं दूसरा जोड़ रहा हूं उत्तर। औचित्य:यह अंतर्निहित समस्या को एक अलग तरीके से संबोधित करता है।)
अंतर्निहित समस्या यह प्रतीत होती है कि एक निरंतर बढ़ती "लेन-देन" तालिका है जिसमें से विभिन्न आंकड़े प्राप्त किए जाते हैं, जैसे SUM(amount)
. तालिका (तालिकाओं) के बढ़ने के साथ ही इसका प्रदर्शन और खराब होता जाएगा।
इस उत्तर का आधार डेटा को दो तरह से देखना होगा:"इतिहास" और "वर्तमान"। Transactions
इतिहास है। एक नई तालिका होगी Current
प्रत्येक उपयोगकर्ता के लिए कुल। लेकिन मुझे ऐसा करने के कई तरीके दिखाई देते हैं। प्रत्येक में कुछ प्रकार के उप-योग शामिल होते हैं ताकि उत्तर पाने के लिए 773K पंक्तियों को जोड़ने से बचा जा सके।
- पारंपरिक बैंकिंग तरीका... प्रत्येक रात दिन के
Transactions
का मिलान करती है और उन्हेंCurrent
. में जोड़ें । - भौतिक रूप से देखने का तरीका... हर बार
Transactions
में एक पंक्ति जोड़ी जाती है , वेतन वृद्धिCurrent
। - संकर:दैनिक उप-योग को "सारांश तालिका" में रखें।
SUM
. प्राप्त करने के लिए उन उप-योगों का योग करें कल रात तक।
मेरे ब्लॉग में सारांश तालिकाएं पर अधिक चर्चा ।
ध्यान दें कि बैंकिंग या हाइब्रिड तरीके से अप-टू-सेकंड बैलेंस थोड़ा मुश्किल है:
- पिछली रात की राशि प्राप्त करें
- दिन के दौरान हुआ कोई भी लेन-देन जोड़ें।
कोई भी तरीका बहुत होगा उपयोगकर्ता के लिए सभी 773K पंक्तियों को स्कैन करने से तेज़, लेकिन यह अधिक जटिल कोड होगा।