知识大全 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/29647相关参考
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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文从八