SQLite इन-मेमोरी डेटाबेस को साफ़ करने से रोकने के लिए, किसी को डेटाबेस तक पहुंचने के लिए एक ही कनेक्शन का उपयोग करना होगा। हालांकि, उसी कनेक्शन का उपयोग SQLite को डेटाबेस तक पहुंच सिंक्रनाइज़ करने का कारण बनता है। इस प्रकार, यदि मेरे पास एक मेमोरी डेटाबेस के विरुद्ध पढ़े जाने वाले कई धागे हैं, तो यह एक बहु-कोर मशीन पर धीमा है जो फ़ाइल-समर्थित डेटाबेस के विरुद्ध चल रहे सटीक कोड की तुलना में धीमा है।SQLite डेटाबेस स्कैनरेंसी के साथ स्केल कर सकते हैं?
क्या दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करने का कोई तरीका है? यही है, एक इन-मेमोरी डेटाबेस जो डेटाबेस को एकाधिक, समवर्ती कॉल की अनुमति देता है?
इसका मतलब है कि यह एकाधिक धागे से उपयोग करना सुरक्षित है। उसे सत्यापित किया जा सकता है। लेकिन यह स्केल नहीं करता है - यह मेरे दोहरे कोर के केवल एक कोर का उपयोग करता है। तो यह प्रदर्शन की कीमत पर सुरक्षा है। स्पष्टीकरण के लिए अपना शीर्षक अपडेट कर रहा है। –
"यह केवल एक कोर का उपयोग करता है" - इसका मतलब है कि आपके धागे इस तरह से भेजे गए थे! यह SQL लॉकिंग या SQLite में अन्य सिंक्रनाइज़ेशन के कारण हो सकता है। यदि आप वास्तव में डीबी + कॉन्सुरेंसी चाहते हैं तो आपको साझा डीबी को अंतिम फ्लशिंग के साथ कुछ कस्टम कोड पर विचार करना चाहिए। मुझे लगता है कि आप स्क्लाइट से बहुत ज्यादा चाहते हैं। – Andrey
बिंदु यह है कि यह फ़ाइल-आधारित SQLite डेटाबेस (100% CPU खपत) के साथ काम करता है, लेकिन इन-मेमोरी डेटाबेस के साथ नहीं। यदि SQLite इस परिदृश्य का समर्थन नहीं करता है तो यह ठीक है लेकिन मुझे उद्धरण की आवश्यकता है। –