gpt4 book ai didi

sql-server - SQL Insert 由于 pagelatch_ex 而暂停

转载 作者:行者123 更新时间:2023-12-01 22:46:37 28 4
gpt4 key购买 nike

我有一个包含几千条记录的 MS SQL 2008 数据库。突然,其中一张表无法接受新行插入。编辑删除还是可以的。在事件监视器中,它显示为:

任务状态:暂停命令:插入等待类型:Pagelatch_ex

等待几分钟后没有任何反应。如果我删除该表中最新(底部)200(估计)行之一,我只能插入一个新行。插入第二行再次暂停。如果我删除最新的200行中的3行,我只能插入3行。但是,如果我删除的行不在最新的 200 行之内,我将无法插入任何行。

插入新行后,新 ID 在 SSMS 结果 View 中位于顶部,而不是底部(未排序)。例如:100, 101, 102, 95, 96, 97, 98, 99 其中100及以上为新插入的数据。

现在表格只有 2 列,ID(主列,标识种子)和 InvoiceID 列。所有索引 View 、表和约束都被删除,问题相同。

我刚刚发现删除 ID 列的主键并重新设置它可以解决问题。但是,ID 的排序仍然搞砸了。新行位于上部,旧行被下推。

导致此问题的原因是什么以及如何预防?谢谢。

最佳答案

Pagelatch_ex发生在有请求需要修改的页面时。通常,闩锁是短暂的并且不会影响性能。但是,如果 I/O 子系统速度较慢或存在其他资源瓶颈,则可能会遇到问题。您需要首先确定涉及哪个数据库/表并从那里开始。

troubleshooting performance problems whitepaper 开始.它描述了解决各种性能问题的步骤 - 如何使用 DMV、性能计数器等。

关于sql-server - SQL Insert 由于 pagelatch_ex 而暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30035858/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com