性能优化"/>
工作记录: 一次mysql性能优化
公司使用的mysql 是阿里云的polardb
**
1.Waiting for table metadata lock
**
MySQL在进行alter table等DDL操作时,Waiting for table metadata lock等待场景,而且长时间的在锁等待队列中
主要有以下原因
场景一:有其他长事务运行,阻塞DDL,继而阻塞所有同表的后续操作
处理方法: kill 掉 DDL所在的session.
场景二:还存在部分未提交事务,阻塞DDL,继而阻塞所有同表的后续操作
处理方法:通过 select * from information_schema.innodb_trx\G, 找到未提交事物的sid, 然后 kill 掉,让其回滚。
场景三: 还存在没有释放所得其他事务
从performance_schema.events_statements_current表中可以查到失败的语句。
参考说明
.html
2.出现 Copying to tmp table
Copying to tmp table状态即表示如果查询超出了MYSQL中配置的tmp_table_size的限制,tmp_table_size配置是每个线程都要分配的大小
查看配置
show variables like ‘%tmp%’;
show variables like ‘max_heap_table_size’;
修改配置
#附上动态改变配置tmp_table_size和max_heap_table_size的命令
set global tmp_table_size=1073741824;
set max_heap_table_size=1073741824;
参考说明
.html
更多推荐
工作记录: 一次mysql性能优化
发布评论