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

Android पर SQLite के लिए AUTOINCREMENT का उपयोग करने के ऊपरी भाग क्या हैं?

मेरा अनुमान, यह देखते हुए कि मैं एक सांख्यिकीविद् नहीं हूं, यह है कि ओवरहेड कुछ इस तरह है 8-12% धीमा।

मैंने 3 . का उपयोग करके परिणाम प्राप्त किए संरचनात्मक रूप से समान और सरल टेबल दो टेक्स्ट कॉलम के साथ, 10,000 running चल रहा है प्रत्येक तालिका में सम्मिलित करता है, इसे 4 उपकरणों पर 5 बार दोहराता है।

तालिका 1 (डीएफएलटी कॉलम) केवल दो टेक्स्ट कॉलम (इस प्रकार डिफ़ॉल्ट ROWID का उपयोग करके) के साथ बनाया गया था।

तालिका 2 (AI कॉलम) _id INTEGER PRIMARY KEY AUTOINCREMENT का उपयोग करके बनाया गया था दो टेक्स्ट कॉलम के अलावा।

तालिका 3 (कोई AI कॉलम नहीं) _id INTEGER PRIMARY KEY . का उपयोग करके बनाया गया था दो टेक्स्ट कॉलम के अलावा।

तो तालिका 2 थोड़ा भिन्न ROWID चयन एल्गोरिथम . का उपयोग करता है डालने के लिए।

उपयोग किए गए चार उपकरण थे :-

  • (1) जेनिमोशन एमुलेटेड डिवाइस (कस्टम टैबलेट - 5.1.0 - एपीआई 22 - 1536x2048)

  • (2) एक ओनिक्स 10" टैबलेट (एटी101-1116)

  • (3) एक एचटीसी 1 एम8 (एचटीसी_0पीकेवी1)

  • (4) एक लेनेवो ए10-30 टैबलेट (लेनोवो टीबी2-एक्स30एफ)

    मुझे जो परिणाम मिले वे थे :-

परिणाम तब अधिक अनुकूल होते हैं जब सब कुछ केवल 1 लेन-देन में चलाया जाता है (यानी beginTransaction(); किसी भी प्रविष्टि से पहले, setTransactionSuccessful(); . के साथ और endTransaction(); सभी प्रविष्टियों के बाद (सभी तालिकाओं के लिए यानी संपूर्ण 150,000 प्रविष्टियां), उदा। :-

दो तालिकाओं की तुलना, प्रदर्शन पर लेनदेन का उपयोग करने वाले लाभों पर प्रकाश डालती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक RecyclerView के लिए SQLite डेटा

  2. SQLite पूर्ण-पाठ खोज के साथ प्रारंभ करना

  3. Android में sqlite डेटाबेस में बड़ी मात्रा में डेटा कैसे डालें?

  4. खींचे और गिराए जाने के बाद SQLite में RecyclerView आइटम की नई स्थिति संग्रहीत करें

  5. एक INSERT कथन के रूप में आउटपुट SQLite क्वेरी परिणाम