尝试插入 10000 条记录 sqlite ios swift
Trying to insert 10000 records sqlite ios swift
我正在尝试插入 10000 条记录,这需要 45 秒
这是我的代码
println(NSDate.new())
for index in 0...10000{
countrys.insert(name <- "abc")
//println(index)
}
println(NSDate.new())
是这样做的吗?
问题是 SQLite 必须单独提交每个 INSERT
语句。您应该考虑使用事务。您可以使用 transaction
方法(执行 BEGIN TRANSACTION
SQL)开始事务,然后使用 commit
提交它们(执行 COMMIT
SQL ).
例如:
db.transaction(.Deferred) { txn in
for i in 0 ... 10000 {
if countries.insert(name <- "abc").statement.failed {
return .Rollback
}
}
return .Commit
}
我正在尝试插入 10000 条记录,这需要 45 秒
这是我的代码
println(NSDate.new())
for index in 0...10000{
countrys.insert(name <- "abc")
//println(index)
}
println(NSDate.new())
是这样做的吗?
问题是 SQLite 必须单独提交每个 INSERT
语句。您应该考虑使用事务。您可以使用 transaction
方法(执行 BEGIN TRANSACTION
SQL)开始事务,然后使用 commit
提交它们(执行 COMMIT
SQL ).
例如:
db.transaction(.Deferred) { txn in
for i in 0 ... 10000 {
if countries.insert(name <- "abc").statement.failed {
return .Rollback
}
}
return .Commit
}