有没有办法使用 MySQL + UniConnection 在任何给定时间检查活动事务的数量(在数据库上,而不是在本地 UniConnection 组件上)?
我试图避免扩展操作导致死锁,这样我可以让一个应用程序等待,直到没有从另一个应用程序执行的正在进行的活动事务进入同一个数据库。
您可以使用 MySQL 命令SHOW OPEN TABLES来确定表上是否存在锁。该in_use
列提供表锁或表的锁请求数。
在这种情况下,您可以简单地锁定表并UNLOCK TABLES
围绕预期执行时间较长的查询。
您可以查询 INFORMATION_SCHEMA 以获取与事务相关的表,我会在 MySQL 中参考有关它的文档:Information Schema Tables about Transactions