【发布时间】:2013-07-25 02:53:17
【问题描述】:
有没有办法使用 MySQL + UniConnection 在任何给定时间检查活动事务的数量(在数据库上,而不是在本地 UniConnection 组件上)?
我试图避免因扩展操作而导致的死锁,这样我可以让一个应用程序等待,直到另一个应用程序没有正在进行的活动事务执行到同一个数据库中。
【问题讨论】:
标签: mysql delphi delphi-xe unidac
有没有办法使用 MySQL + UniConnection 在任何给定时间检查活动事务的数量(在数据库上,而不是在本地 UniConnection 组件上)?
我试图避免因扩展操作而导致的死锁,这样我可以让一个应用程序等待,直到另一个应用程序没有正在进行的活动事务执行到同一个数据库中。
【问题讨论】:
标签: mysql delphi delphi-xe unidac
您可以在 INFORMATION_SCHEMA 中查询事务相关的表,我会参考 MySQL 的文档:Information Schema Tables about Transactions
【讨论】:
您可以使用 MySQL 命令SHOW OPEN TABLES 来确定表上是否存在锁。 in_use 列提供表锁或表的锁请求数。
在这种情况下,您可以简单地使用 LOCK TABLES 和 UNLOCK TABLES 来处理预计执行时间较长的查询。
【讨论】: