类型: | integer |
默认: | 1000 (1s) |
最低限度: | 1 (1ms) |
最大: | 2147483647 (2147483647ms) |
单元: | milliseconds (ms) |
上下文: | superuser |
重新开始: | false |
这是进行死锁检测之前在一个锁上等待的时间量。死锁检测相对昂贵,因此服务器不会在每次等待锁时都运行这个它。 我们乐观地假设在生产应用中死锁是不常出现的,并且只在开始检测死锁之前等待一会儿。增加这个值就减少了浪费在无用的死锁检测上的时间,但是减慢了报告真正死锁错误的速度。 如果指定值时没有单位,则以毫秒为单位。默认是 1 秒(1s
),这可能是实际中你想要的最小值。 在一个高负载的服务器上,你可能需要增大它。这个值的理想设置应该超过你通常的事务时间,这样就可以减少在锁释放之前就开始死锁检查的机会。只有超级用户可以更改这个设置。
当log_lock_waits被设置时,这个参数还可以决定发出关于锁等待的日志之前等待的时间量。如果你想调查锁延迟,你可能希望设置一个比正常的deadlock_timeout
小的值。
建议 [EN]
Default is fine, except when you are troubleshooting/monitoring locks. In that case, you may want to lower it to as little as 50ms.