插入SQLite数据库非常慢(VB.NET,LINQ2SQL)

时间:2013-08-25 18:45:48

标签: database vb.net sqlite linq-to-sql

我的应用程序中插入数据库的速度非常慢。 应用程序使用

  • SQLite数据库
  • VB.NET
  • Linq To SQL

这是一个包含4个字段的大约600条记录的简单插入。就这样。我的戴尔Vostro配备英特尔酷睿2双核计算机大约需要10秒钟。我认为它应该快得多,我无法弄明白。

该表未编入索引。有一个主键自动增量字段,另一个引用外表的Id字段(下面的1234) 这是我的代码:

Using dc = Utility.GetNewDataContext
            Dim myList As New List(Of myData)
            For Each pt As CapturedDataPoint In _capturedDataPoints
                Dim rec As New myData
                rec.Id = 1234 
                rec.captureTimeSec = pt.captureTimeSec
                rec.force = pt.force
                rec.displacement = pt.displacement
                myList.Add(rec)
            Next
            dc.myData.InsertAllOnSubmit(myList)
            dc.SubmitChanges()
end using 

为了操作时间,我有一个Stopwatch对象并打印ElapsedTimeMilliseconds 在上面的代码之前,我有2个其他插入(每个一个记录)和一个删除(一个记录)。这3个操作中的每一个大约需要0.6秒。 600插件的10秒钟优于600 * .6 = 36秒,但我觉得它应该快得多。

1 个答案:

答案 0 :(得分:0)

一定是由于这个限制:

  

交易速度受磁盘驱动器转速的限制。 - from sqlite faq