用到啥学啥,mysql数据库优化成了这几天的老大难问题。疯狂的寻找mysql优化的资料,觉得有用的不少,记录下跟大家分享,对了,这里仅仅是mysql数据库本身的优化,没有写磁盘之类的:
开始之前,介绍俩mysql的命令:
show global status; 查看运行状态的,显示运行各种状态值
show variables; 查询MySQL服务器配置信息的
ps:在命令里面设置配置信息的话,下次重启不起作用,所以要写到my.cnf里面。
1.慢查询
就是语句执行需要的时间,如果超过设定的值,则进行记录。
show variables like '%slow%';这个可以查看是否开启及设置的时间,单位为秒。
show global status like '%slow%';这个是查看统计情况
2.连接数
遇见”MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:
show variables like 'max_connections';查看最大连接数
mysql> show global status like 'Max_used_connections'查看目前出现的最大连接数
推荐的两个者的比例:Max_used_connections / max_connections * 100% ≈ 85%
3.Key_buffer_size
show variables like 'key_buffer_size';显示目前Key_buffer_size的设置值,单位是字节。
那么这个参数设置多少合适呢,一般是内存的1/4大小。如何确定一个合适的值呢?
show global status like 'key_read%';这个是看索引请求(Key_read_requests)的,还可以查看内存中没有找到直接从硬盘读取索引(Key_reads)。两者的比值Key_reads / Key_read_requests越小越好,至少是1:100,1:10000算是很不错。不过比例再大的话,也没有很大的意义了。
MySQL服务器还提供了key_blocks_*参数:show global status like 'key_blocks_u%';
Key_blocks_unused表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:
Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%
4.Open_tables
show global status like 'open%tables%';查看打开表的情况
Open_tables表示打开表的数量,Opened_tables表示打开过的表数量,如果Opened_tables数量过大,说明配置中table_cache(5.1.3之后这个值叫做table_open_cache)值可能太小。
比较适合的值:
Open_tables / Opened_tables * 100% >= 85%
Open_tables / table_cache * 100% <= 95%
5.查询缓存(query cache)
详细出处:mysql数据库优化 - 23生活
http://www.23live.cn/article.asp?id=436
分享到:
相关推荐
对mysql数据库优化方面的全面解析,尽大程度的提高性能
MySQL数据库优化(一) 1 MySQL数据库优化(二) 5 MySQL数据库优化(三) 13 MySQL数据库优化(五):锁 25 MySQL数据库优化(六):优化数据库结构 29 MySQL数据库优化(七):MySQL如何使用索引 31 MySQL数据库...
MySQL数据库优化SQL篇.ppt,适用于企业级项目开发
简单描述数据库优化方案,以及数据库一些常用的操作,包括一些简单的查询语句,函数使用,合适学习mysql的读者。 简单描述数据库优化方案,以及数据库一些常用的操作,包括一些简单的查询语句,函数使用,合适学习...
MYSQL数据库优化.pdf saivicky出品,必属精品!
MYSQL数据库优化秘籍,大牛出的,值得你反复研读 MySQL在Linux环境下的安装 文件引擎MyISAM与InnoDB比较 LOAD DATA INFILE/mysqldump DBA的分析命令 MySQL的系统配置参数、诊断操作系统的状态 MySQL的分库分表,分区...
MySQL数据库优化实践 ,是个不错的文档,里面有很多关于mysql 优化的方法
MySQL数据库优化心得:选取最适用的字段属性;使用连接(JOIN)来代替子查询(Sub-Queries);使用联合(UNION)来代替手动创建的临时表;事务;锁定表;外键等。
Mysql数据库优化总结-飞鸿无痕-ChinaUnix博客................................................................................................................
MySQL数据库优化文档,是按原英文翻译的,不是我翻译的,也是搜索来的资源,大家分享
MySQL数据库优化SQL篇PPT课件.pptx
MySQL数据库优化攻略
mysql数据库优化文档,有喜欢的童鞋可以看一下
mysql数据库优化视频教程,文件内含百度云下载链接,请自行下载观看,链接失效时可联系邮箱补发,谢谢,赶快下载吧,即下即用~
全面深入Mysql数据库优化视频【完整资料】包括索引 存储过程等
mysql优化,MySQL数据库优化方法。
Mysql数据库优化