SQL读/写效率

SQL读/写效率,sql,linq-to-sql,asp.net-mvc-2,Sql,Linq To Sql,Asp.net Mvc 2,SQL中读写操作的性能有什么不同吗?在ASP.NET MVC应用程序中使用Linq to SQL,我经常在一篇文章中更新我的一个表中的许多值(在此过程中,许多此类文章将从用户处快速进入,尽管在上一次更新完成之前用户无法提交新数据)。我当前的实现是循环输入(每行的当前值列表),并将它们写入字段(可为null的int)。我想知道如果我读取当前的db值,并且只在它发生变化时才写入,是否会有任何性能差异。这些操作中的大多数更改大约1/4到2/3行的值,有些更改较少,很少更改超过2/3行的值 我不太了解这

SQL中读写操作的性能有什么不同吗?在ASP.NET MVC应用程序中使用Linq to SQL,我经常在一篇文章中更新我的一个表中的许多值(在此过程中,许多此类文章将从用户处快速进入,尽管在上一次更新完成之前用户无法提交新数据)。我当前的实现是循环输入(每行的当前值列表),并将它们写入字段(可为null的int)。我想知道如果我读取当前的db值,并且只在它发生变化时才写入,是否会有任何性能差异。这些操作中的大多数更改大约1/4到2/3行的值,有些更改较少,很少更改超过2/3行的值


我不太了解这些操作的相对速度(或者是否有任何差异)。这样做有什么好处吗?如果是这样的话,哪些表的大小最有好处/根本没有好处,是否会有任何百分比的行发生变化,这将是这种改进的阈值?

读取速度总是更快

写实际上总是先读后写。

SQL需要知道要写入哪一行,这涉及在查找或扫描操作中读取索引或表本身,然后写入相应的行

编写还需要更新任何适用的索引。根据具体情况,即使数据不变,索引也可能会“更新”


一般来说,最好只修改需要更改的数据。

谢谢!现在我可以提高速度,减少用户的等待时间!非常有用,交互性开始变得非常糟糕+1:即使在纯SQL中;在旧值和新值较长的地方进行包含代码
的更新,似乎有更多的“工作要做”,但通常会产生更好的性能。