Navicat 如何 解决MySQL卡的问题?

当表在增加字段或索引时,如果数据量大且同时有查询操作,可能导致SQL运行缓慢甚至卡死。为找出问题,可以使用MySQL的管理命令如showprocesslist查看进程,通过information_schema.PROCESSLIST获取执行中的SQL,以及INNODB_LOCK_WAITS和INNODB_LOCKS来检查锁情况。若发现阻塞进程,可使用kill命令结束特定的trx_mysql_thread_id。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL慢,SQL卡,SQL运行没出来…

原因:
1.表在加字段,由于数据量庞大,且表在被查询,导致卡着了;
2.表在加索引,由于一边查询一边修改,导致卡了;

解决方法:
使用root账号登陆MySQL
执行下面语句即可。


-- 显示目前在执行的所有进程列表
show processlist  

-- 查看info(sql语句)不为空的进程列表
select * from information_schema.`PROCESSLIST`  where info is not null

-- 查询等待锁的列表
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS

-- 查看锁住的列表1
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS

-- 查看锁住的列表2
SELECT * FROM INFORMATION_SCHEMA.innodb_trx

-- 杀死进程 trx_mysql_thread_id
kill 4000060
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值