दिलचस्प पोस्ट
पुश नोटिफिकेशन को प्रबंधित करना जब ऐप नहीं चल रहा है सामान लोड करते समय एक छविदृश्य में "एनिमेटेड सर्कल" का उपयोग करना CakePHP 3.0 -> खोज हालत के बीच सिस्टम से बाहर मेमोरी अपवाद। ड्रॉइंग। इमेज। फ्रॉमफाइल () बच्चों को सबसे ऊंचा बच्चे की ऊंचाई बताएं शब्द समानता / असमानता के संदर्भ में प्रतिबिंब के साथ स्थिर विधि को कॉल करें SQL इंजेक्शन को रोकने में एसक्यूएल का प्रयोग करेंगे मैं मोंगॉडब पर केस-असंवेदनशील प्रश्न कैसे कर सकता हूं? संगीतकार फाइल डाउनलोड नहीं कर सकता संसाधन (.resx) फ़ाइलों के लाभ क्या हैं? इमेज / बिटमैप और पिक्चरबॉक्स का निपटान करने का सही तरीका वास्तविक समय डेटा की साजिश रचने (qwt) ऑस्सिलोस्कोप Angularjs में एंकर लिंक? क्रिप्टिक "स्क्रिप्ट त्रुटि।" क्रोम और फ़ायरफ़ॉक्स में जावास्क्रिप्ट में सूचना दी

लाखों रिकॉर्ड के साथ 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;