単純な C# アプリケーションで ADO.NET を使用しています。
TableA と TableB の 2 つのテーブルがあります。TableA は Table B の親です。TableA には以下が含まれます。
- 主キーとしての id (Int32)
- その他の列。関係ないと思うので詳しくは書きません。
表 B には次の列があります。
- id (主キー) (Int32)
- tableAid (テーブル A との外部キー関係) (Int32 と主キー)
- X(ダブルタイプ)
- Y(ダブルタイプ)
テーブル B に約 300 行を作成しました。X と Y の列の値を更新して、各行の値が同じになるようにしたいと考えています。私は現在これをやっています:
TableBRow[] rowsOfB = TableA.GetTableBRows();
for (int i = 0 ; i < rowsOfB.Length ; i++)
{
rowsOfB[i].X = newXvalue;
rowsOfB[i].Y = newYvalue;
}
このコードの実行には時間がかかるようです。私の質問は(i)なぜこれが遅いのですか?(ii) テーブル内の多くの行を更新するための推奨される方法は何ですか? 一括更新アプローチはありますか。