sqlite大量数据插入优化总结
2014-04-29 11:44
375 查看
1.将插入操作放到一个Transaction里,默认的每条insert语句都会开启一个Transaction,参见: 2.手动拼写插入语句,不要运用ORM,虽然代码会看起来很多,但是效率绝对大幅度提升 未优化前代码: NSArray *organizations = [organizationsDic allValues]; for (Organization *organization in organizations) { [organization save]; } 优化后代码: //手动拼接sql语句,不采用OR模式,提升点性能,有待进入内网测试 FMDatabase *db = [MD_DataBaseTool getDb]; NSString *sql; //保存公司或部门 [db beginTransaction]; NSArray *organizations = [organizationsDic allValues]; for (Organization *organization in organizations) { sql = [NSString stringWithFormat:@"insert into Organization(organizationId, name, pId, memberNumber, type, sortNumber, groupId) values('%@', '%@', '%@', '%@', '%@', '%@', '%@')", organization.organizationId, organization.name, organization.pId, organization.memberNumber, organization.type, organization.sortNumber, organization.groupId]; [db executeUpdate:sql]; } //保存用户-部门映射表 for (UserOrganizationMap *userOrganizationMap in userOrganizations) { sql = [NSString stringWithFormat:@"insert into UserOrganizationMap(userOrganizationId, userId, organizationId, position, recentlyMap) values('%@', '%@', '%@', '%@', '%@')", userOrganizationMap.userOrganizationId, userOrganizationMap.userId, userOrganizationMap.organizationId, userOrganizationMap.position, userOrganizationMap.recentlyMap]; [db executeUpdate:sql]; } [db commit];
相关文章推荐
- Sqlite3插入大量数据性能优化
- Android:SQLite插入大量数据的效率优化
- sqlite大量数据插入的优化
- Sqlite3插入大量数据性能优化
- 使用insert插入大量数据的总结
- iOS的sqlite3大量数据插入数据库操作
- 【Java/JDBC.ORM】 jdbc插入大量数据时优化处理
- ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。
- SQLite 插入大量数据慢的解决方法
- 【Java/JDBC.ORM】 jdbc插入大量数据时优化处理
- 数据库SQLite 数据大量存储 和快速读取 链表查询的优化 使用gosn
- mysql插入大量数据,时间的优化。
- Java向数据库中插入大量数据时的优化
- Mysql中Innodb大量插入数据时SQL语句的优化
- 用Java向数据库中插入大量数据时的优化
- 用JDBC向数据库中插入大量数据时的优化
- 用Java向数据库中插入大量数据时的优化
- Mysql大量插入数据时SQL语句的优化
- 优化SQLite3数据库插入10000条数据
- Mysql大量插入数据时SQL语句的优化