SQLite Swift で一括挿入を実行しようとしています。ただし、コードが正しいかどうかは 100% わかりません。
私が落ち着いたSwiftコードは(時間的に最高のパフォーマンスを提供したため)次のとおりです。
do {
try DB.transaction { () -> Void in
for index in 0...num_docs {
table.insert(data <- "test", data_num <- index)
}
}
} catch _ {
throw DataAccessError.Transaction_Error
}
編集 - -
次のコードを迅速に使用すると、10000 個のドキュメントを挿入すると、+/- 12 秒から 0.8 秒に短縮されます。話がうますぎる。
let docsTrans = DB.prepare("INSERT INTO TEST_DB (data, data_num) VALUES (?,?)")
do {
try DB.transaction(.Deferred) { () -> Void in
for index in 0...num_docs {
try docsTrans.run("test", index)
}
}
} catch _ {
throw DataAccessError.Insert_Error
}