ฐานข้อมูล Android SQLite: การแทรกช้า
ฉันต้องการแยกวิเคราะห์ไฟล์ XML ที่ค่อนข้างใหญ่ (แตกต่างกันไปประมาณหนึ่งร้อยกิโลไบต์และหลายร้อยกิโลไบต์) ซึ่งฉันใช้Xml#parse(String, ContentHandler)อยู่ ฉันกำลังทดสอบกับไฟล์ 152KB ในระหว่างการแยกฉันยังใส่ข้อมูลในฐานข้อมูล SQLite getWritableDatabase().insert(TABLE_NAME, "_id", values)ใช้สายคล้ายกับต่อไปนี้: ทั้งหมดนี้ใช้เวลาประมาณ 80 วินาทีสำหรับไฟล์ทดสอบ 152KB (ซึ่งมาพร้อมกับการแทรกแถวประมาณ 200 แถว) เมื่อฉันแสดงความคิดเห็นในคำสั่งแทรกทั้งหมด (แต่ปล่อยไว้อย่างอื่นเช่นสร้างContentValuesเป็นต้น) ไฟล์เดียวกันจะใช้เวลาเพียง 23 วินาที เป็นเรื่องปกติหรือไม่ที่การดำเนินการฐานข้อมูลจะมีค่าใช้จ่ายสูงขนาดนี้? ฉันสามารถทำอะไรเกี่ยวกับเรื่องนั้นได้หรือไม่?