(非常に大きな) データ テーブルをクレンジングするためのコード (VB.NET) を作成しています。
SQL データベースに接続し、テーブルをループして、データをクレンジングし、クレンジングしたデータを別の列に追加しています。
現在、データをクレンジングしているのと同じループで各レコードのデータベースを更新しているので、データをクレンジングしてからすべてを送信するより効率的な方法があるかどうか疑問に思っています更新されたレコードを一度にデータベースに。
簡略化されたコード:
'Connect
SQLConn.ConnectionString = strConnection
SQLConn.Open()
SQLCmd.Connection = SQLConn
SQLConn2.ConnectionString = strConnection
SQLConn2.Open()
SQLCmd2.Connection = SQLConn2
'Set query
strSQL = "SELECT Column1 FROM Table1"
SQLCmd.CommandText = strSQL
'Load Query
SQLdr = SQLCmd.ExecuteReader
'Start Cleansing
While SQLdr.Read
Cleansing()
'Add to database
strSQL2 = "UPDATE Table1 SET Clean_data = '" & strClean & "' WHERE Dirty_Data = '" & SQLdr(0).ToString & "'"
SQLCmd2.CommandText = strSQL2
SQLCmd2.ExecuteNonQuery()
End While
'Close Connections
SQLdr.Close()
SQLConn.Close()
SQLConn2.Close()
ループの外で更新を行うことは可能であると(解決策の検索から)推測していますが、具体的な方法を見つけることができないようです。
どうもありがとう!