mysql占用cpu过高 mysqlcpu占用过高怎么解决

相信大家都会使用mysql,但是如果我们cpu占用过高该怎么处理呢?跟着小编一起学习cpu占用过高该怎么处理吧。

mysqlcpu占用过高的案例分析

今天早上起来 机器报警 一查负载一直都在4以上

top了一下 发现 mysql 稳居 第一 而且相当稳定 我擦

重启一下mysql不行

mysql> show processlist;一下

发现xxx网站有两条 查询语句 一直 在列,我擦 该站 也就30多万条记录 量也不大 不可能是机器性能问题

忽然 记得以前在网上看过说是 tmp_table_size值太小会造成这种情况;

于是mysql -pxxx -e "show variables;" >tmp

一看是默认的32M(显示出来的是字节数)

于是翁就开心的改了起来 增加到256 重启 mysql 。。结果很失望

不行啊 还得再来

select 一下该表 发现 里面 都是论坛留言的东西 量还挺大

于是:

mysql> show columns from bbs_message;

+-----------+--------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-----------+--------------+------+-----+---------+----------------+

| msg_id | int(11) | NO | PRI | NULL | auto_increment |

| board_id | int(11) | NO | MUL | 0 | |

| parent_id | int(11) | NO | MUL | 0 | |

| root_id | int(11) | NO | MUL | 0 | |

一直在show processlist 里面出现的 就是 select * from bbs_message where board_id=xxx and parent_id=xxx

和 select * from bbs_message where parent_id=xxx

只要这两条一出现 cpu就上去了

于是 从索引入手:

增加两条索引

mysql> alter table bbs_message add index parentid(parent_id);

alter table bbs_message add index chaxunid(board_id,parent_id);

最后查看一下索引结果:

mysql> show index from bbs_message;

+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |

+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

| bbs_message | 0 | PRIMARY | 1 | msg_id | A | 2037 | NULL | NULL | | BTREE | |

mysql占用cpu过高 mysqlcpu占用过高怎么解决

| bbs_message | 1 | rootid | 1 | root_id | A | 49 | NULL | NULL | | BTREE | |

| bbs_message | 1 | chaxunid | 1 | board_id | A | 3 | NULL | NULL | | BTREE | |

| bbs_message | 1 | chaxunid | 2 | parent_id | A | 135 | NULL | NULL | | BTREE | |

| bbs_message | 1 | parentid | 1 | parent_id | A | 127 | NULL | NULL | | BTREE | |

+-------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

mysqlc

  

爱华网本文地址 » http://www.aihuau.com/a/250161/836346829.html

更多阅读

cpu温度过高怎么办 cpu温度过高怎么解决

您会在炎热的夏天里看电影或者玩游戏时候,经常会遇到电脑自动重启或者电脑蓝屏,大部分遇到这个问题会选择重装系统,但是事实上重装系统后也无法解决这个问题,金山网络专家指出,大部分遇到这样情况都是由于cpu温度过高导致电脑自动重启或

魔兽世界cpu占用高 魔兽世界CPU占用率高怎么解决

魔兽世界CPU占用率高是什么原因呢?跟着小编一起学习魔兽世界CPU占用率高怎么解决吧。魔兽世界CPU占用率高的解决方法cpu占用率高,原因有几种可能:1、windows后台程序有占用cpu的。比如某某updata上传东西,下载软件,qq软件等等,还有用

cpu占用过高怎么解决 cpu资源全满怎么解决

电脑用着用着突然变了很卡,一查看才发现cpu资源全满了,怎么办呢?下面就让小编给大家说说cpu资源全满怎么解决吧。cpu资源全满的解决方法1、驱动没有经过认证,造成CPU资源占用100%。大量的测试版的驱动在网上泛滥,造成了难以发现的故

cpu占用过高怎么解决 怎么解决win7系统中IE占用CPU过高的问题

打开IE浏览器的时候,CPU经常会突然升高,而且每增加一个新选项卡,进程里就会多出一个IE*32的进程。这其实不是中毒或者插件的原因,而是win7系统默认“不合并”IE浏览器的进程数。下面我们就把这个设置更改了,完美解决CPU占用高的问题。下

声明:《mysql占用cpu过高 mysqlcpu占用过高怎么解决》为网友我喜欢海分享!如侵犯到您的合法权益请联系我们删除