MySQL + UniConnection を使用して、任意の時点で (ローカルの UniConnection コンポーネントではなく、データベース上で) アクティブなトランザクションの数を確認する方法はありますか?
拡張操作によるデッドロックを回避しようとしています。このようにして、別のアプリから同じデータベースに対して実行中のアクティブなトランザクションがなくなるまで、1 つのアプリを待機させることができます。
MySQL コマンドSHOW OPEN TABLESを使用して、テーブルにロックがあるかどうかを判断できます。このin_use
列には、テーブル ロックまたはテーブルのロック要求の数が表示されます。
その場合、単純にLOCK TABLESとUNLOCK TABLES
、実行時間が長いと予想されるクエリの周りを行うことができます。