- 博客(120)
- 收藏
- 关注
原创 如何分析SQL存储过程锁等待_使用系统动态视图排查
查锁等待应优先使用sys.dm_exec_requests和sys.dm_tran_locks:前者定位阻塞会话与等待类型(如LCK_M_U),后者结合sys.dm_exec_sessions识别持锁者及锁级别(KEY/PAGE/OBJECT),避免误判WAITFOR等非锁等待。别急着重启或杀会话,先确认是不是真被锁了。核心就两个动态管理视图:sys.dm_exec_requests 显示当前正在执行的请求(含阻塞链),sys.dm_tran_locks 显示谁持有什么锁、谁在等什么锁。
2026-05-17 19:36:58
186
原创 存储过程如何处理海量数据的批处理_循环提交与分段LIMIT结合
SQL Server需每批独立事务;优先用「游标 + 显式提交」配合主键/时间戳范围分段,比如每次查 id BETWEEN?避免 ORDER BY RAND() 或无索引字段排序,游标遍历时必须走索引扫描每批处理后加 COMMIT,但别太频繁(如每 1000 行一次),否则 I/O 压力反升记得在存储过程开头设 SET autocommit = 0,否则每次 INSERT/UPDATE 都自动提交,失去批量控制意义PostgreSQL 存储过程里怎么安全实现分段更新(UPDATE ... LIMIT)?
2026-05-17 19:33:42
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅