हमारे पास हमारे एंड्रॉइड एप्लिकेशन में लगभग 7-8 टेबल हैं जिनमें प्रत्येक के औसत पर लगभग 8 कॉलम होते हैं। डेटाबेस पर दोनों पढ़ने और लिखने के संचालन किए जाते हैं और मैं डेटाएप परत के प्रदर्शन को बढ़ाने के तरीकों को खोजने और कोशिश करने का प्रयास कर रहा हूं। तो, अब तक मैं निम्नलिखित की कोशिश की है:एंड्रॉइड एप्लिकेशन के लिए SQLite ऑप्टिमाइज़ेशन
- उपयोग स्थितीय में तर्क जहां खंड (कारण: इतना है कि SQLite एक ही कार्य योजना लागू का उपयोग करता है): हर db आपरेशन
- आवेषण और लेनदेन के साथ अद्यतन संलग्न करें (कारण डिफ़ॉल्ट रूप से एक लेनदेन के भीतर संलग्न है। ऐसा करने से उस ओवरहेड को हटा दिया जाएगा)
- इंडेक्सिंग: मैंने प्राथमिक कुंजी और अद्वितीय कुंजी कॉलम पर डिफ़ॉल्ट रूप से बनाए गए लोगों के अलावा कोई स्पष्ट अनुक्रमणिका नहीं बनाई है। (कारण: अनुक्रमण समय तलाशने में सुधार करेगा)
मेरे पास है paranthesis में मेरी धारणाओं को entioned; अगर मैं गलत हूं कृपया मुझे सही।
सवाल:
मैं इस सूची में कुछ और जोड़ सकते हैं? मैंने कहीं पढ़ा है कि डीबी-जर्नल के उपयोग से परहेज अपडेट के प्रदर्शन में सुधार कर सकते हैं? क्या यह एक मिथक या तथ्य है? यदि यह अनुशंसित किया जाए तो यह कैसे किया जा सकता है?
SQLite3 में निहित लेनदेन की अनुमति है? वे प्रदर्शन को कैसे प्रभावित करते हैं? बात यह है कि मेरे पास एक ऐसा फ़ंक्शन है जो लूप में एक अद्यतन चलाता है, इसलिए, मैंने एक लेनदेन ब्लॉक के भीतर लूप को संलग्न किया है। कभी-कभी इस फ़ंक्शन को किसी अन्य फ़ंक्शन के अंदर किसी अन्य लूप से बुलाया जाता है। कॉलिंग फ़ंक्शन एक लेनदेन ब्लॉक के भीतर लूप को भी संलग्न करता है। लेनदेन के ऐसे घोंसले प्रदर्शन को कैसे प्रभावित करते हैं?
मेरे प्रश्नों पर खंड जहां भविष्यवाणी बनाने के लिए एक से अधिक कॉलम का उपयोग करते हैं। ये कॉलम प्राथमिक कुंजी या अद्वितीय कॉलम से आवश्यक नहीं हो सकते हैं। क्या मुझे इन कॉलम पर इंडेक्स भी बनाना चाहिए? क्या ऐसी तालिका के लिए कई सूचकांक बनाना एक अच्छा विचार है?
इस प्रश्न का उत्तर देने के लिए समय निकालने के लिए धन्यवाद। – Samuh