我正在开发应用程序,我想在单个应用程序中使用两个sqlite数据库.这可能吗?任何帮助将不胜感激.
我想在数据库中插入10,00,000行,但插入时需要花费太长时间.
例如,现在我正在尝试使用2055行,将这些数据上传到数据库需要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();
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个名为:解析数据的类中:这里我正在解析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
}
}
Run Code Online (Sandbox Code Playgroud)
它在这里逐个解析行并调用insert方法将条目插入到数据库中.
但这是太多的时间采取..我怎样才能提高这个性能?