SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

एंड्रॉइड SQLite जर्नल व्यवहार बदल गया?

@CL सही है, जर्नल मोड एपीआई स्तर के आधार पर बदलता प्रतीत होता है (शायद यह निर्माता द्वारा भी बदलता है?)।

हालांकि, भविष्य के संदर्भ के लिए, मैंने कई एपीआई स्तरों में जर्नल_मोड के लिए डेटाबेस से पूछताछ की है और परिणाम हैं:

  • एंड्रॉयड 2.3.7 (एपीआई 10) =हटाएं
  • एंड्रॉइड 4.0.4 (एपीआई 15) =छोटा करें
  • एंड्रॉइड 4.1.1 (एपीआई 16) =जारी रखें
  • एंड्रॉइड 4.3.0 (एपीआई 18) =जारी रखें
  • एंड्रॉइड 4.4.4 (एपीआई 19) =जारी रखें
  • एंड्रॉइड 5.0.0 (एपीआई 21) =जारी रखें
  • एंड्रॉइड 5.1.0 (एपीआई 22) =जारी रखें

जर्नल मोड प्राप्त करने के लिए कोड:

Cursor c = db.rawQuery("PRAGMA journal_mode;", null);
c.moveToFirst();
String journalMode = c.getString(c.getColumnIndex("journal_mode"));

जर्नल मोड के बारे में:

DELETE जर्नलिंग मोड सामान्य व्यवहार है। DELETE मोड में, रोलबैक जर्नल प्रत्येक लेनदेन के समापन पर हटा दिया जाता है। दरअसल, डिलीट ऑपरेशन वह क्रिया है जिसके कारण लेन-देन होता है।

TRUNCATE जर्नलिंग मोड रोलबैक जर्नल को हटाने के बजाय इसे शून्य-लंबाई में छोटा करके लेनदेन करता है। कई प्रणालियों पर, फ़ाइल को हटाने की तुलना में फ़ाइल को छोटा करना बहुत तेज़ होता है क्योंकि युक्त निर्देशिका को बदलने की आवश्यकता नहीं होती है।

PERSIST जर्नलिंग मोड रोलबैक जर्नल को प्रत्येक लेनदेन के अंत में हटाए जाने से रोकता है। इसके बजाय, जर्नल के शीर्ष लेख को शून्य से अधिलेखित कर दिया जाता है। यह अन्य डेटाबेस कनेक्शनों को जर्नल को वापस रोल करने से रोकेगा। PERSIST जर्नलिंग मोड उन प्लेटफ़ॉर्म पर एक अनुकूलन के रूप में उपयोगी है जहाँ किसी फ़ाइल को हटाना या छोटा करना शून्य के साथ फ़ाइल के पहले ब्लॉक को ओवरराइट करने की तुलना में बहुत अधिक महंगा है।

अधिक जानकारी



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite Nullif () कैसे काम करता है

  2. जब पहली बार डेटाबेस खोलकर ऑनक्रिएट को ट्रिगर किया जाता है, तो SQLite हेल्पर ऑनक्रिएट से SQLite डेटाबेस नहीं खोल सकता

  3. SQLite बार-बार चयन क्वेरी पर डेटाबेस फ़ाइल (कोड 14) खोलने में असमर्थ है

  4. SQLite त्रुटि में एकाधिक पंक्तियाँ सम्मिलित करें (त्रुटि कोड =1)

  5. डेटा sqlite में सभी तालिका के बजाय किसी विशेष तालिका की तारीख से पॉप्युलेट हो जाता है