mysql性能优化慢查询分析优化索引和配置

mysql性能优化慢查询分析优化索引和配置

ID:36030331

大小:565.00 KB

页数:24页

时间:2019-05-01

mysql性能优化慢查询分析优化索引和配置_第1页
mysql性能优化慢查询分析优化索引和配置_第2页
mysql性能优化慢查询分析优化索引和配置_第3页
mysql性能优化慢查询分析优化索引和配置_第4页
mysql性能优化慢查询分析优化索引和配置_第5页
资源描述:

《mysql性能优化慢查询分析优化索引和配置》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、mysql性能优化-慢查询分析、优化索引和配置目录一、优化概述二、查询与索引优化分析1性能瓶颈定位Show命令慢查询日志explain分析查询profiling分析查询 2索引及查询优化三、配置优化1)   max_connections2)   back_log3)   interactive_timeout4)   key_buffer_size5)   query_cache_size6)   record_buffer_size7)   read_rnd_buffer_size8)   sort_buffer

2、_size9)   join_buffer_size10)  table_cache11)  max_heap_table_size12)  tmp_table_size13)  thread_cache_size14)  thread_concurrency15)  wait_timeout 一、 优化概述MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时

3、候那么平瓶颈就会出现在网络上,我们可以用mpstat,iostat,sar和vmstat来查看系统的性能状态。除了服务器硬件的性能瓶颈,对于MySQL系统本身,我们可以使用工具来优化数据库的性能,通常有三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置。二、查询与索引优化分析在优化MySQL时,通常需要对数据库进行分析,常见的分析手段有慢查询日志,EXPLAIN 分析查询,profiling分析以及show命令查询系统状态及系统变量,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。1性能瓶

4、颈定位Show命令我们可以通过show命令查看MySQL状态及变量,找到系统的瓶颈:Mysql>showstatus——显示状态信息(扩展showstatuslike‘XXX’)Mysql>showvariables——显示系统变量(扩展showvariableslike‘XXX’)Mysql>showinnodbstatus——显示InnoDB存储引擎的状态Mysql>showprocesslist——查看当前SQL执行,包括执行状态、是否锁表等Shell>mysqladminvariables-uusername

5、-ppassword——显示系统变量Shell>mysqladminextended-status-uusername-ppassword——显示状态信息查看状态变量及帮助:Shell>mysqld–verbose–help[

6、more#逐行显示] 比较全的Show命令的使用可参考:http://blog.phpbean.com/a.cn/18/慢查询日志慢查询日志开启:在配置文件my.cnf或my.ini中在[mysqld]一行下面加入两个配置参数log-slow-queries=/data/mysqldata/s

7、low-query.log           long_query_time=2                                                                注:log-slow-queries参数为慢查询日志存放的位置,一般这个目录要有mysql的运行帐号的可写权限,一般都将这个目录设置为mysql的数据存放目录;long_query_time=2中的2表示查询超过两秒才记录;在my.cnf或者my.ini中添加log-queries-not-using-inde

8、xes参数,表示记录下没有使用索引的查询。log-slow-queries=/data/mysqldata/slow-query.log           long_query_time=10                                                               log-queries-not-using-indexes                                             慢查询日志开启方法二:我们可以通过命令行设置变量来即时

9、启动慢日志查询。由下图可知慢日志没有打开,slow_launch_time=# 表示如果建立线程花费了比这个值更长的时间,slow_launch_threads计数器将增加设置慢日志开启MySQL后可以查询long_query_time的值。 为了方便测试,可以将修改慢查询时间为5秒。慢查询分析mysqldumpslow我们可以通过打开log文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。