दिलचस्प पोस्ट
Google चार्ट एक्स अक्ष पर तिथि के साथ रुझान रेखा खींचना JQuery का उपयोग करने के लिए कुछ अनुभवजन्य तकनीकी कारण क्या हैं? मैं 'ImportError कैसे ठीक कर सकता हूं: नाम अपूर्ण रीड आयात नहीं कर सकता'? एक फ़ाइल में शब्दों की आवृत्ति गणना करने के लिए शानदार तरीके मैं क्यों सी # में ICloneable कार्यान्वित करना चाहिए? कॉर्पोरेट प्रॉक्सी। पीएसी के पीछे एनपीएम का उपयोग करना अक्षरों की संख्या को 10 तक सीमित करने के लिए नियमित अभिव्यक्ति ContentControl और ContentPresenter के बीच अंतर क्या है? मैक्रो नामों के लिए वैध वर्ण क्या हैं? जावा 'अंतिम' विधि: यह क्या वादा करता है? प्रत्येक महीने के पहले दिन कैसे प्राप्त करें mysql में? मल्टीथ्रेडड क्विकस्रॉर्ट या मर्जर्सोर्ट एक बटन जोड़ने का सबसे अच्छा तरीका क्या है? JQuery के साथ मध्य बटन क्लिक (स्क्रॉल बटन) का पता लगाएं SCRIPT438: ऑब्जेक्ट संपत्ति या विधि IE का समर्थन नहीं करता

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

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

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

SELECT * FROM Table LIMIT 100, 5000 

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

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

वेब के समाधान से एकत्रित समाधान "लाखों रिकॉर्ड के साथ 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;