【问题标题】:Very slow inserts into a SQLite Database (VB.NET, LINQ2SQL)非常慢的插入到 SQLite 数据库(VB.NET,LINQ2SQL)
【发布时间】:2013-08-25 18:45:47
【问题描述】:

在我的应用程序中向我的数据库中插入非常慢时出现问题。 应用用途

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

这是一个包含 4 个字段的大约 600 条记录的简单插入。就这样。在配备 Intel Core 2 Duo 的 Dell Vostro 计算机中,大约需要 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 秒,但我觉得应该快很多。

【问题讨论】:

  • 数据库是否位于网络位置?

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


【解决方案1】:

一定是因为这个限制:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 2012-10-12
    • 2014-08-10
    • 1970-01-01
    相关资源
    最近更新 更多