ฉันต้องการแทรก 10,00,000 แถวลงในฐานข้อมูล แต่การแทรกใช้เวลานานเกินไปเช่น
เช่น. ตอนนี้ฉันกำลังลองใช้แถว 2,055 และใช้เวลา 3 นาทีในการอัปโหลดข้อมูลนี้ลงในฐานข้อมูล .. และครั้งนี้มากเกินไปสำหรับรายการในปี 2055
ต่อไปนี้เป็นวิธีการแทรกข้อมูลลงในฐานข้อมูลของฉัน:
public void insert_database(Context context,String field1,String field2,String field3,String field4,String field5,String field6 ,String field7,String field8,String field9,String field10)
{
try
{
//RayAllen_Database.beginTransaction();
RayAllen_Database.execSQL(" insert or replace into "+ TableName_csv+" values( '"+field1+"' ,'"+field2+"','"+field3+"','"+field4+"','"+field5+"','"+field6+"','"+field7+"','"+field8+"','"+field9+"','"+field10+"');");
}
catch(Exception e)
{
//Log.i("Database Exception", "Exception");
e.printStackTrace();
}
}
และในคลาสอื่นที่เรียกว่า: การแยกวิเคราะห์ข้อมูล: ที่นี่ ฉันกำลังแยกวิเคราะห์ไฟล์ csv และในขณะที่แยกวิเคราะห์:
พยายาม {
CSVReader reader=new CSVReader(new FileReader(filename));
String [] nextLine;
//create database
obj.create_database(context);
obj.OpenDatabase(context);
//reader.readNext();
while ((nextLine=reader.readNext())!=null)
{
//here I am calling the insert_database function
}
}
ดังนั้นนี่คือการแยกวิเคราะห์ทีละแถวและเรียกใช้วิธีการแทรกเพื่อแทรกรายการลงในฐานข้อมูล ..
แต่มันใช้เวลานานเกินไป.. ฉันจะปรับปรุงประสิทธิภาพนี้ได้อย่างไร??