SQL插入和更新在同一个查询中非常慢

时间:2014-04-22 20:54:40

标签: sql insert sql-update

首先,我的软件将执行每个插入,并在不同的查询中进行每次更新。使用这段代码插入或更新将确定更少:

If (CInt(database.ExecuteScalar("SELECT COUNT(*) FROM " & TableNames.LOG & " WHERE " & Columns.DATE_ & "='" & day & "'")) > 0) Then
    database.Update(TableNames.LOG, row, Columns.DATE_ & "='" & day & "'")
Else
    database.Insert(TableNames.LOG, row)
End If

但这很慢(80行的12秒)。所以我想通过将所有内容放在一个查询中来加快速度。在代码中进行了几次快速调整之后,我设法发送了一个如下所示的查询:

INSERT INTO *tablename* [...];
UPDATE *tablename* SET [...] WHERE [...];
INSERT INTO *tablename* [...];
INSERT INTO *tablename* [...];
UPDATE *tablename* SET [...] WHERE [...];


等等...

但它几乎没有更快。我知道我做错了,因为80行的10秒是非常慢的。我在这里错过了什么?

请注意,每个插入和更新都在不同的行上。

0 个答案:

没有答案