2013-08-25 115 views
1

我的应用程序中的数据库插入非常缓慢时出现问题。 应用程序使用非常缓慢地插入SQLite数据库(VB.NET,LINQ2SQL)

  • SQLite数据库
  • VB.NET
  • 的LINQ to SQL

这是约600条记录与4场一个简单的插入。就这样。我的Dell Vostro与Intel Core 2 Duo电脑需要约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 

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

+0

数据库位于网络位置? –

+0

不,只是本地的。 –

回答

0

它必须是由于这一限制:

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