使用SQLite.swift批量插入,性能如何?

swe*_*men 7 sqlite sqlite.swift

我正在尝试使用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
}
Run Code Online (Sandbox Code Playgroud)

编辑----

如果我在swift中使用以下代码,则插入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
        }
Run Code Online (Sandbox Code Playgroud)