ऐप्लिकेशन के लिए, काम करते समय लिखने के लिए पहले से लॉग करने की सुविधा

Android 9 में पेश है एक खास मोड SQLiteDatabase इसे कंपैटबिलिटी राइट-अहेड लॉगिंग (WAL) कहा जाता है. यह डेटाबेस को ज़्यादा से ज़्यादा एक वैल्यू को बनाए रखने के दौरान journal_mode=WAL कनेक्शन के हिसाब से डेटा देखना चाहिए.

किसी ऐप्लिकेशन के डेटाबेस के लिए कम्पैटिबिलिटी WAL तब तक डिफ़ॉल्ट रूप से चालू रहता है, जब तक: ऐप्लिकेशन में, इनमें से कोई एक है:

  1. कॉल करके, सेव करके डेटा रिकॉर्ड करने की सुविधा में ऑप्ट-इन या ऑप्ट-आउट किया गया SQLiteDatabase.enableWriteAheadLogging या disableWriteAheadLogging
  2. कॉल करके साफ़ तौर पर जर्नल मोड का अनुरोध किया गया SQLiteDatabase.OpenParams.setJournalMode(String mode) अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

WAL जर्नल मोड को चालू करने से लिखने की संख्या में कमी आती है. उदाहरण के लिए, ext4 पर तो WAL के इस्तेमाल से राइट स्पीड में 4 गुना सुधार हो सकता है.

कंपैटबिलिटी WAL की सुविधा डिफ़ॉल्ट रूप से चालू है. इसके लिए, आपको अलग से लागू करना.

कंपैटबिलिटी WAL को बंद करें

कंपैटबिलिटी WAL मोड को बंद करने के लिए, इमेज के बगल में db_compatibility_wal_supported कॉन्फ़िगरेशन संसाधन.

उदाहरण के लिए:

<bool name="db_compatibility_wal_supported">false</bool>

हो सकता है कि आप उन कॉन्फ़िगरेशन के लिए कंपैटबिलिटी WAL को बंद करना चाहें जहां WAL जर्नल मोड, पारंपरिक रोलबैक के मुकाबले परफ़ॉर्मेंस में कोई फ़ायदा नहीं देता जर्नल मोड. उदाहरण के लिए, F2FS फ़ाइल सिस्टम पर, हालांकि SQLite पर परमाणु लेखन और DELETE जर्नल का प्रदर्शन WAL के समान है, WAL कर सकते हैं राइट की संख्या को 10% से 15% तक बढ़ा सकते हैं.

पुष्टि करें

'कंपैटबिलिटी WAL' मोड की पुष्टि करने के लिए, चलाएं सीटीएस की जांच CtsDatabaseTestCases मॉड्यूल से भी लिया जाएगा. सीटीएस टेस्ट से उम्मीद के मुताबिक नतीजे मिलेंगे 'कंपैटबिलिटी WAL' चालू होने पर, उपयोगकर्ता कुछ अलग तरह का काम कर सकता है.