繁体   English   中英

在SQL Server上插入/更新表锁

[英]Insert/Update Table Locks on SQL Server

我在SQL Server 2008中有一个约有70列的大表。一个多线程.NET应用程序正在数据库上调用存储的proc,以插入/更新表。 频率大约是每秒3次。

因为几乎每个查询在表上都有datetime约束,所以我对表进行了每周分区。

有时需要很长时间才能插入/更新表。 我怀疑有时INSERTION使UPDATE等待。 有时UPDATE使INSERTION等待。 可能吗?

如何设计表以避免此类锁定? 性能是这里的主要问题。

没错,您可能正在陷入僵局,导致事情等待。 首先要检查几件事;

  1. 您的索引正确吗?
  2. 如果您的数据库处于“完全”恢复模式,是否需要它? 简单的恢复确实可以加快插入/更新的速度,但是您失去了备份的时间点恢复。
  3. 您是否可能有多个线程写同一条记录? 如果不是这样,NOLOCK可能是您的朋友,但这意味着您的数据有时可能一两秒钟不一致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM