关于mysql占用CPU过高,问题解决

使用SHOW PROCESSLIST 查看
原因: 使用了 一个触发器 不断的去删除日志,保证每个用户的日志只有10条
    去掉之后,CPU使用率从97% 降到了 17%。

利用show columns from 表名 查看 和 SQL 对比 查出
根本原因 : 删除条件里面 有一个 没有加索引,添加了索引后CPU在6%到40%波动,由于CPU单核,又加了很多触发器,所以去掉了这个 会频繁被触发的触发器。

lower_case_table_names=1可以忽略表名大小写

SHOW VARIABLES LIKE '%innodb_flush_log_at_trx_commit%';
--值分为三个 0 1 2, 目前知道设置成2 会对服务器优化
SET GLOBAL innodb_flush_log_at_trx_commit=2;

 

posted on 2014-07-29 11:30  Love I Smile  阅读(817)  评论(0编辑  收藏  举报