Insertando 1000000 filas en la base de datos sqlite3

Quiero insertar 10,00,000 filas en la base de datos, pero el proceso lleva demasiado tiempo en la inserción.

p.ej. Ahora lo estoy intentando con 2055 filas y demora 3 minutos cargar estos datos en la base de datos ... y esta vez es demasiado para 2055 entradas.

El siguiente es mi método para insertar los datos en la base de datos:

      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();
    }

}

y en la otra clase llamada: Datos de análisis: aquí estoy analizando el archivo csv y mientras analizo:

tratar {

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
    }
 }

así que aquí se analiza la fila una por una y se llama al método de inserción para insertar la entrada en la base de datos.

Pero es demasiado tiempo ... ¿Cómo puedo mejorar el rendimiento de esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta