我是靠谱客的博主 傲娇世界,最近开发中收集的这篇文章主要介绍MySQL数据库负载过高,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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数据库负载过高所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部