概述
1首先进入数据库中 show full processlist; 连续多执行几次 找出慢的语句
2找出语句后用explain 加上慢的整个语句 判断是否走索引
3查看表结构 show create table 表名G
4查看表中列的重复值 select count(distinct 列名) from 表名;(查出列中的不重复的值唯一值)
5查看表中的总记录数 select count(*) from 表名;3000W 以下在线创建索引没有问题 如果大于则要想其他办法
6创建索引 create index 索引名 on 表名(建立索引的列);
7 再利用用explain 加上慢的整个语句 判断是否走索引成功
8 再show full processlist 查看慢语句是否减少
9 uptime 查看服务器负载
数据库负载过高,经过show full processlist;查寻 LIKE ‘%XXX%’语句很多如何解决
有可能这是在网站的搜索栏中用了模糊查寻
优化思路:
1 让用户登录后在搜索,这样减少了搜索次数,减少服务器压力
2 如果有大量的频繁搜索,一般是由爬虫爬网站引起,分析web日志 封掉IP
3 配置多个主从同步,实现读写分离,最好让LIKE’%xxx%’语句去从库查寻,减轻主库写压力
4 在数据库前端加memcache等缓存服务器
5 LIKE’%xxx%’语句在mysql里很难优化,可以通过搜索服务sphinx(俄罗斯的一款搜索软件)实现搜索
6 还可以利用c,ruby等语言开发程序,实现每日读库计算搜索索引,保存在服务器上提供搜索服务
最后
以上就是傲娇世界为你收集整理的MySQL数据库负载过高的全部内容,希望文章能够帮你解决MySQL数据库负载过高所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复