我有包含 1000 万个数据的数据集,我正在遍历它并使用数据集的值来更新计数为 2500 万的基表。
where 子句中使用的字段是主键。
但我仍然没有获得性能,只有 100k 记录在 1 小时内更新。
如何优化和加快在 oracle 中执行查询的时间。
我在 vb.net 中使用命令对象、连接对象
以下函数执行了 1000 万次更新查询。
public cmd_obj as new oledb.oledbcommand
Strquery="update Table1 set field1='Value from dataset' where field2='value from dataset'" ' where field2 is primary key in base table
Public Function Executenonquery(ByVal Strquery As String) As Int32
Dim intUpdated As Int32 = 0
Try
If VerifyOracleLogin() = True Then ' check oracle connection
cmd_obj.Connection = dbconn
cmd_obj.CommandText = Strquery 'strquery has update query
intUpdated = cmd_obj.ExecuteNonQuery()
return intUpdated
End If
Catch ex As Exception
WriteToErrorLog("Query Execution Error : " & Strquery, ex.Message)
Return -1
End Try
End Function