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

时间:2015-12-03 10:33:13

标签: 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
}

编辑----

如果我在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
        }

0 个答案:

没有答案