知识大全 一次MySQL性能优化实战
Posted 语句
篇首语:时危见臣节,世乱识忠良。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 一次MySQL性能优化实战相关的知识,希望对你有一定的参考价值。
一次MySQL性能优化实战 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
过年这段时间由于线上数据库经常压力过大导致响应非常缓慢甚至死机 咬咬牙下大决心来解决效率不高的问题!
首先是由于公司秉承快速开发原则 频繁上线 导致每次忽视了性能问题!日积月累 所以导致系统越来越慢 所以如果你的系统查询语句本来就优化的很好了可能参考意义不大!
提取慢查询日志文件 应该在你的DataDir目录下面
通过程序处理慢查询文件 将文件格式的慢查询导入到数据库中
mysql> desc slow_query; + + + + + + + | Field | Type | Null | Key | Default | Extra | + + + + + + + | Date | varchar( ) | NO | | | | 查询发生的时间 | user | varchar( ) | NO | | | | | host | varchar( ) | NO | | | | | content | text | NO | | | | 将Statement进行Mask后的语句 便于Group By | query_time | int( ) | NO | | | | 查询所用时间 直接性能指标 | lock_time | int( ) | YES | | | | 等待锁定的时间 | rows_sent | int( ) | YES | | | | 返回的结果行数 | rows_examined | int( ) | YES | | | | 扫描行数(很重要 上万以后就要重点注意了 | statement | text | YES | | NULL | | 实际查询语句 + + + + + + + 然后发挥您的想象力在这个表中尽力捕捉你想捕捉的 那类型语句压力最大 扫描行数最多 等锁最久……
比如
优化后
mysql> select sum(query_time)/count(*) count (*) sum(query_time) min(Date) Max(Date) from slow where Date> : : and Date< : : ; + + + + + + | sum(query_time)/count(*) | count(*) | sum(query_time) | min(Date) | Max(Date) | + + + + + + | | | | : : | : : | + + + + + + row in set ( sec) 优化前 mysql> select sum(query_time)/count(*) count(*) sum(query_time) min(Date) Max(Date) from slow where Date> : : and Date< : : ; + + + + + + | sum(query_time)/count(*) | count(*) | sum(query_time) | min(Date) | Max(Date) | + + + + + + | | | | : : | : : | + + + + + + row in set ( sec) 再比如 优化前
基本信息
慢查询统计从 : : 到 : : 时间段 接近 个小时的数据;
总共有慢查询 个 平均一小时有 个慢查询;(花了一天优化降到每小时 个的样子了 成就感啊)
所有慢查询耗费总时间 秒;
慢查询时间设置是大于 秒
参数说明
sum 总执行时间(秒);
count 执行次数;
avg 平均执行时间(秒);
content 类似SQL语句的表达通式 其中 DD 代表数字;
statement 某一条具体执行的SQL语句
由于访问时的锁 导致update非常慢
mysql> select count(*) as n sum(query_time) as s sum(query_time)/count(*) as avg substring_index(statement ) as u from slow where statement like update% and query_time> group by u; + + + + + | n | s | avg | u | + + + + + | | | | update conversation | | | | | update user | | | | | update user_modification | + + + + + 说明程序中还是存在一些忘记释放事务锁的情况
最耗费资源的 个查询
其中第 应该是同一类查询 这样的话这一类查询占总查询的一半以上 每分钟出现 个以上这样的慢查询 需要重点解决!
cha138/Article/program/MySQL/201311/29467相关参考
MySQL性能优化的参数有哪些? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 此文章主要向大家
MySQL数据库性能优化的实际操作方案 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以下的文章
MySQL数据库性能优化的实际操作方案[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
MySQL数据库性能优化的实际操作方案[6] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
MySQL数据库性能优化的实际操作方案[5] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
MySQL数据库性能优化的实际操作方案[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
MySQL数据库性能优化的实际操作方案[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
MySQL数据库性能优化的实际操作方案[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
MySQL性能优化全攻略-相关数据库命令 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们要讨
完全优化MySQL数据库性能的八大巧方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文从八