我试图在sqlite数据库中插入大约500条记录,这需要20秒,这太过分了!任何人都可以告诉你如何优化它。
for (int i = 0 ; i< [[[dic objectForKey:@"response" ]objectForKey:@"requete"]count]; i++) {
[sqlManager executeQuery:[[[dic objectForKey:@"response"]objectForKey:@"requetes"]objectAtIndex:i]];
}
带
-(void)executeQuery:(NSString*)_query
{
sqlite3 *database;
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
if(sqlite3_exec(database, [_query UTF8String],NULL, NULL, NULL) == SQLITE_OK){
//NSLog(@"Query Success");
}
else{
// NSLog(@"Query Failed");
}
sqlite3_close(database);
}
sqlite3_close(database);
}
答案 0 :(得分:1)
您即将Open & closing the database for every Query(insertion)
。所以这也需要时间。
example一次插入多条记录。
答案 1 :(得分:1)
答案 2 :(得分:0)
我认为你必须开放你的数据库。
需要更多时间才能打开和关闭数据库。
例如,仅为该插入创建一个方法,该方法在firts元素中打开数据库并在最后一个元素之后关闭它。