दिलचस्प पोस्ट
मैं अपने आवेदन को एक्लिप्स से सुपरयुजर के रूप में कैसे चलाऊं? नियमित अभिव्यक्ति इतनी विवादास्पद क्यों हैं? क्या डैगर 2 में एक घटक (ऑब्जेक्ट ग्राफ़) के जीवन चक्र को निर्धारित करता है? कैसे एक SetOnItemClickListener FirebaseRecyclerViewAdapter लागू करने के लिए .aspx बनाम .शैक्स मुख्य अंतर PHP में बाइट सरणी के लिए स्ट्रिंग अनक्यूट टाइप एरर: अपरिभाषित की संपत्ति 'setstate' पढ़ नहीं सकते क्या आप SQL सर्वर में मुद्रा या दशमलव (एक्स, वाई) डाटाटेप्स चुनना चाहिए? "अभिव्यक्ति SFINAE" क्या है? अंतराल स्क्रॉल रीसाइक्लर में आइटम को जोड़ना प्रगति के साथ नीचे तल वेब अनुप्रयोग समस्याएं (वेब। कॉन्फ़िगर त्रुटियां) HTTP 500.19 IIS7.5 और asp.NET v2 के साथ कार्यान्वयन के साथ शुद्ध आभासी फ़ंक्शन चींटी – एक विशिष्ट फ़ोल्डर में सभी फाइलों के नाम कैसे प्राप्त करें कौन सा। NET निर्भरता इंजेक्शन फ़्रेमवर्क तलाश में लायक हैं? WCF (net.tcp) सेवा के साथ सॉकेट आधारित क्लाइंट का उपयोग कैसे करें?

लाखों रिकॉर्ड के साथ SQLite में कुशल पेजिंग

मुझे सूची दृश्य में SQLite परिणाम दिखाने की आवश्यकता है I बेशक, मुझे परिणामों के पृष्ठ की आवश्यकता है

पहला विकल्प LIMIT खंड का उपयोग करना है उदाहरण के लिए:

SELECT * FROM Table LIMIT 100, 5000 

यह रिकॉर्ड 5001 से 5100 तक देता है। समस्या यह है कि आंतरिक रूप से SQLite पहले 5000 रिकॉर्ड पढ़ता है और यह बहुत कुशल नहीं है।

पेजिंग के लिए सबसे अच्छा तरीका क्या है जब बहुत सारे रिकॉर्ड होते हैं?

Solutions Collecting From Web of "लाखों रिकॉर्ड के साथ SQLite में कुशल पेजिंग"

कृपया ध्यान दें कि आपको हमेशा एक ORDER BY खंड का उपयोग करना होगा; अन्यथा, आपको कुछ यादृच्छिक क्रम मिलेंगे।

कुशल पेजिंग करने के लिए, आदेशित फ़ील्ड के पहले / अंतिम प्रदर्शित मानों को सहेजते हैं, और अगले पृष्ठ प्रदर्शित करते समय उनके बाद जारी रहें:

 SELECT * FROM MyTable WHERE SomeColumn > LastValue ORDER BY SomeColumn LIMIT 100; 

(यह SQLite विकी पर अधिक विस्तार से समझाया गया है ।)

जब आपके पास एकाधिक प्रकार के स्तंभ होते हैं (और SQLite 3.15 या बाद के संस्करण), तो आप इसके लिए एक पंक्ति मूल्य तुलना का उपयोग कर सकते हैं:

 SELECT * FROM MyTable WHERE (SomeColumn, OtherColumn) > (LastSome, LastOther) ORDER BY SomeColumn, OtherColumn LIMIT 100;