有没有办法增加单个查询的锁定超时,或者只是那个连接,而不影响整个数据库?
我有一个有问题的查询,有时会因 1 秒超时而失败。
所以我想到了这样的事情:
set innodb_lock_wait_timeout=100; query; set innodb_lock_wait_timeout=1;
但这适用于整个数据库,对吧?我想要的可能吗?使用 mariadb 10.5
有没有办法增加单个查询的锁定超时,或者只是那个连接,而不影响整个数据库?
我有一个有问题的查询,有时会因 1 秒超时而失败。
所以我想到了这样的事情:
set innodb_lock_wait_timeout=100; query; set innodb_lock_wait_timeout=1;
但这适用于整个数据库,对吧?我想要的可能吗?使用 mariadb 10.5
innodb_lock_wait_timeout也是一个会话和全局变量,因此默认情况下
SET
只更改会话。应用设置并避免重置它的更简单方法是使用 可应用于任何会话变量的SET STATEMENT 。
所以:
由于您使用的是 MariaDB,也许您想要
max_statement_time
建议使用慢日志查找导致超时的其他查询。然后看看你是否可以加快速度和/或避免冲突。