我使用Jooq进行数据库事务管理。我发现NOWAIT
和SKIP LOCKED
子句只在后来的MySQL版本中得到支持。我使用的MYSQL版本不支持它们。那么,在JooQ中,是否有解决这个问题的方法?其中一个线程不等待锁定实体并继续处理其他实体而不改变innodb_lock_wait_timeout
DB配置?
SKIP LOCKED
很难模拟,但是使用innodb_lock_wait_timeout
会话变量模拟WAIT n
或NOWAIT
是完全有意义的。我们已经在jOOQ 3.15中为PostgreSQL做了这个,那么为什么不为旧版本的MySQL做这个呢?
- https://github.com/jOOQ/jOOQ/issues/11243 (PostgreSQL)
- https://github.com/jOOQ/jOOQ/issues/11543 (MariaDB, MySQL)
这将在jOOQ 3.15
中提供。