0

我在一个简单的 C# 应用程序中使用 ADO.NET。

有两个表,TableA 和 TableB。表 A 是表 B 的父表。表 A 包含:

  1. id 作为主键 (Int32)
  2. 其他栏目。我认为这无关紧要,所以我不会详细说明。

表 B 有这些列:

  1. id(主键)(Int32)
  2. tableAid(与表A的外键关系)(Int32和主键)
  3. X(双型)
  4. 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) 更新表中许多行的推荐方法是什么?是否有批量更新方法。

4

1 回答 1

0

如果您正在进行大型更新,通常创建一个临时表,进行批量插入,加入此临时表并进行更新比进行 n 更新更快。

于 2010-11-03T11:50:18.573 回答