当前位置: 首页> 游戏> 网游 > 山东滕州疫情最新_抖音代运营服务内容明细_国外免费舆情网站有哪些软件_优帮云首页推荐

山东滕州疫情最新_抖音代运营服务内容明细_国外免费舆情网站有哪些软件_优帮云首页推荐

时间:2025/7/11 8:44:13来源:https://blog.csdn.net/qq_33286757/article/details/144909909 浏览次数:0次
山东滕州疫情最新_抖音代运营服务内容明细_国外免费舆情网站有哪些软件_优帮云首页推荐

INNODB_TRX表      

  INNODB_TRX表提供了当前在InnoDB内部执行的所有事务信息,包含事务是否在等待锁,事务何时开始以及事务正在执行的SQL语句(如果有的话,sql语句阻塞就可以显示)。

查询语句

select * from information_schema.INNODB_TRX;

表结构如下列

TRX_ID:

InnoDB内部的唯一事务ID,不会为只读且非锁定事务创建ID。

TRX_WEIGHT:

事务的权重,反映事务修改和锁定的行数(不一定是准确的数量),当解决死锁时,InnoDB会选择权重最小的事务作为 牺牲品 让其回滚。已经更改非事务表的事务被认为比其他事务的 权重 更重,不管其修改和锁定的行数。

TRX_STATE:

事务的执行状态。值为 RUNNING(运行), LOCK WAIT(等待锁), ROLLING BACK(正在回滚), 和 COMMITTING(正在提交)。

TRX_STARTED:

事务开始的时间。

TRX_REQUESTED_LOCK_ID:

如果状态为 锁等待 则为事务当前等待的锁id,否则为空。

TRX_WAIT_STARTED:

开始等待锁的时间,如果状态不是 LOCK WAIT,则为空。

TRX_MYSQL_THREAD_ID:

MySQL线程ID,要获取更多的线程信息,需要关联INFORMATION_SCHEMA PROCESSLIST表进行查询。

TRX_QUERY:

事务正在执行的SQL语句。

TRX_OPERATION_STATE:

事务当前的状态。updating or deleting

TRX_TABLES_IN_USE:

事务执行SQL语句时使用的表的数量。

TRX_TABLES_LOCKED:

当前SQL语句在多少张表(表的数量)上持有锁。因为这些是行锁,不是表锁,所以,尽管某些行被锁定,这些表仍然可以被多个事务读写。

TRX_LOCK_STRUCTS:

事务保留的锁数量。

TRX_LOCK_MEMORY_BYTES:

此事务的锁结构在内存中占用的总大小。

TRX_ROWS_LOCKED:

被事务锁定的近似行数。这个值可能包含被标记为删除的行,这些行物理上存在,但已经对事务不可见了。

TRX_ROWS_MODIFIED:

事务修改或删除的行数。

TRX_CONCURRENCY_TICKETS:

指示当前事务被换出前可以做的工作量的一个值,由 innodb_concurrency_tickets 系统变量指定。

TRX_ISOLATION_LEVEL:

事务隔离级别。

TRX_UNIQUE_CHECKS:

是否为当前事务打开或关闭唯一性校验。例如,它们可能在批量数据加载期间被关闭。

TRX_LAST_FOREIGN_KEY_ERROR:

最后一次外键的错误详情,没有的话为空。

TRX_ADAPTIVE_HASH_LATCHED:

自适应哈希索引是否被当前事务锁定。当自适应哈希索引搜索系统被分区时,单个事务不会锁定整个自适应哈希索引。自适应哈希索引分区由 innodb_adaptive_hash_index_parts 参数控制,默认设为 8。

TRX_ADAPTIVE_HASH_TIMEOUT:

自适应哈希超时时间。是否立即放弃自适应哈希索引的搜索latch,或者在MySQL 的调用中保留它。当没有自适应哈希索引争用时,该值保持为零,并且语句保留 latch 直到它们完成。在争用期间,它倒计时到零,并且语句在每行查找后立即释放 latch。当自适应哈希索引搜索系统被分区(由 innodb_adaptive_hash_index_parts 控制)时,该值保持为 0。

TRX_IS_READ_ONLY:

只读事务标识。1代表只读事务。

TRX_AUTOCOMMIT_NON_LOCKING:

无锁自动提交标识。值为1表示事务是一个没有使用 FOR UPDATE 或者 LOCK IN SHARED MODE 字句的SELECT 语句,并且自动提交开启,这样事务就会只包含一条语句。如果这行和 TRX_IS_READ_ONLY 都为1的话,InnoDB会优化事务,以减少事务改变表数据的开销。

发生锁后的解锁办法

1、innodb_lock_wait_timeout 锁定等待时间改大


        修改超时时间将 #innodb_lock_wait_timeout = 50 修改为 innodb_lock_wait_timeout = 500。缺点:全局更改,影响也是全局的,等待时间加长,容易使等待事务增多导致堆积问题。

 2、事务信息查询


        通过SELECT * FROM information_schema.innodb_trx查询未提交事务,查到一个一直没有提交的只读事务(trx_state=”LOCK WAIT”),找到对应线程,执行:kill 线程ID。线程id为表中的trx_mysql_thread_id字段。

 3、如果杀掉线程依然不能解决,可以查找执行线程耗时比较久的任务,kill掉


        执行SELECT * from information_schema.`PROCESSLIST` WHERE Time > 1000 AND USER = 'xxx' ORDER BY TIME desc;找到线程:kill 线程ID。

关键字:山东滕州疫情最新_抖音代运营服务内容明细_国外免费舆情网站有哪些软件_优帮云首页推荐

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: