最近学习在iOS编程中使用FMDB来存储数据,在inssert一大串对象时发现用了超过20秒,如果插入1000条数据,相当于进行了1000次磁盘存储。而使用事务之后相当于只执行一次sql语句,插入速度大大提升。
[[DBManager sharedDBManager].database beginTransaction];
@try {
for (NSString *sql in self.sqlArray) {
[[DBManager sharedDBManager].database executeUpdate:sql];
}
}
@catch (NSException *exception) {
[[DBManager sharedDBManager].database rollback];
}
@finally {
[[DBManager sharedDBManager].database commit];
[self.sqlArray removeAllObjects];
[[NSNotificationCenter defaultCenter]postNotificationName:@"updatePlan" object:nil];
}