Performance SQLITE使用事务更新速度非常慢,而INSERT很快

Performance SQLITE使用事务更新速度非常慢,而INSERT很快,performance,sqlite,Performance,Sqlite,我正在使用vb.net,sqlite dll。我有10万条记录的数据库。我需要根据单个条件用新值简单地更新一个字段值。我还需要执行100K更新命令,如下所示(使用事务) 更新表_NAME SET Matnum='yy',其中ordernumber=98739 当我运行Update命令时,它花费了太多的时间~15分钟。我尝试检查Insert命令性能,如下所示(使用事务),并添加了100k行插入: “在表中插入名称(Matnum)值('yyy');” 所需时间不到3秒 这是为什么。怎么了? 我的代码

我正在使用vb.net,sqlite dll。我有10万条记录的数据库。我需要根据单个条件用新值简单地更新一个字段值。我还需要执行100K更新命令,如下所示(使用事务) 更新表_NAME SET Matnum='yy',其中ordernumber=98739

当我运行Update命令时,它花费了太多的时间~15分钟。我尝试检查Insert命令性能,如下所示(使用事务),并添加了100k行插入: “在表中插入名称(Matnum)值('yyy');” 所需时间不到3秒

这是为什么。怎么了? 我的代码如下

 Dim Str As String = ""
        Dim sCmdTmp As SQLiteCommand = New SQLiteCommand(Str, SQLKonnLITE)
        Using trs As SQLiteTransaction = SQLKonnLITE.BeginTransaction()
            For x As Integer = 1 To 100000
                Str = "UPDATE TABLE_NAME SET Matnum='yy' WHERE ordernumber=98739;"
                  sCmdTmp.CommandText = Str
               sCmdTmp.ExecuteNonQuery()
            Next
            trs.Commit()
        End Using

对不起,我的代码已经包含了它,但是我没有将代码放到这篇文章中。我试着删除Where和添加Where,它们都是一样的。我用正确的代码更新了问题为什么要用相同的值更新同一行100000次?ordernumber上可能没有索引?执行:
CREATE UNIQUE index index\u order\u number on TABLE\u NAME(ordernumber)。如果列不包含唯一值,请删除唯一值。你可以在这里找到更多:工作很好。。。感谢Zach&forpas先生的支持。我已经表明你们两位都支持解决这个问题。再次感谢。。