मेरे पास एम्बेडेड लिनक्स पर चल रहा एक एप्लिकेशन है। मेरे पास कुछ टेबल के साथ पूर्व-निर्मित डीबी है जहां प्रत्येक में बहुत सारी पंक्तियां (हजारों) और 52 कॉलम हैं। मैंने आगे डीबी बनाया, क्योंकि मुझे चिंता है कि अगर मैं रन-टाइम पर 'इंसर्ट' करूँगा तो मैं डिस्क विखंडन कर दूंगा, इसलिए इसके बजाय मैं बहुत सारे कचरे के साथ डीबी का निर्माण करता हूं 'INSERT और रन-टाइम में मैं 'अद्यतन का उपयोग करता हूं।SQLite WAL प्रदर्शन सुधार
मैं हर 3 सेकंड में डीबी में बहुत सारे डेटा लिख रहा हूं, और लिखने की प्रक्रिया तेजी से होने के लिए, मैं SQLite में WAL मोड का उपयोग करता हूं। हालांकि, मुझे प्रदर्शन की समस्या है। ऐसा लगता है कि जब भी एक चेकपॉइंट होता है, यह बहुत लंबा लगता है और प्रोसेसर इसे 3 सेकंड से कम समय में नहीं कर सकता है। इसे सुधारने के लिए, मैंने एक धागा बनाया है कि 10 लेखन कॉल की तरह, इसे मुख्य धागे से और चेकपॉइंटिंग से संदेश-कतार प्राप्त होता है।
तो अब ऐसा लगता है कि स्थिति बेहतर है लेकिन डब्ल्यूएएल फ़ाइल बड़ी और बड़ी और बड़ी हो रही है ... मैं यहां कैसे काम कर सकता हूं?
ध्यान दें कि यह डेटाबेस फ़ाइल के लिए फ़ाइल स्थान के आवंटन को प्रभावित करता है। डब्ल्यूएएल फ़ाइल में आवंटन को समझने से मैं खंड आकार का सम्मान नहीं करता हूं। –