首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >enq: TX -行锁争用创建会话等待。

enq: TX -行锁争用创建会话等待。
EN

Database Administration用户
提问于 2012-06-18 10:53:23
回答 2查看 2.2K关注 0票数 2

我正在处理的数据库有会话等待,这是由于DMLs在一个过程中对多个表进行处理。

DBA将其标识为enq: TX - row lock contention

我怎样才能解决这个问题?

EN

回答 2

Database Administration用户

发布于 2012-06-18 11:37:50

由于UPDATE状态,您持有锁。当您提交事务时,这些锁将被释放。

要解决此问题,请确保尽快提交事务。

票数 3
EN

Database Administration用户

发布于 2012-07-18 17:29:20

如果在FOR循环中有很多更新,一个想法是在FOR循环中放置一个内部计数器变量,以提交每X个更新数。

例如。我有5000万行要更新。我的FOR循环通过每个单独的更新来工作。不要等到所有5000万次更新完成才提交(并避免撤消增长),而是每隔150万行提交一次。这将完成您的更新,允许为错误创建一个合理的回滚窗口,并允许持有该锁的其他事务滑入其中。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/19421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档