知识大全 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性能优化的参数有哪些

MySQL性能优化的参数有哪些?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  此文章主要向大家

知识大全 MySQL数据库性能优化的实际操作方案

MySQL数据库性能优化的实际操作方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下的文章

知识大全 MySQL数据库性能优化的实际操作方案[1]

MySQL数据库性能优化的实际操作方案[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 MySQL数据库性能优化的实际操作方案[6]

MySQL数据库性能优化的实际操作方案[6]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 MySQL数据库性能优化的实际操作方案[5]

MySQL数据库性能优化的实际操作方案[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 MySQL数据库性能优化的实际操作方案[4]

MySQL数据库性能优化的实际操作方案[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 MySQL数据库性能优化的实际操作方案[3]

MySQL数据库性能优化的实际操作方案[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 MySQL数据库性能优化的实际操作方案[2]

MySQL数据库性能优化的实际操作方案[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 MySQL性能优化全攻略- 相关数据库命令

MySQL性能优化全攻略-相关数据库命令  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们要讨

知识大全 完全优化MySQL数据库性能的八大巧方法

完全优化MySQL数据库性能的八大巧方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文从八