随着访问量的上升,Mysql数据库的压力就越大,几乎大部分使用mysql架构的WEB应用在数据库上都会出现性能问题,通过mysql慢查询日志跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql
随着访问量的上升,Mysql数据库的压力就越大,几乎大部分使用mysql架构的WEB应用在数据库上都会出现性能问题,通过mysql慢查询日志跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句。
慢查询日志我们可以通过my.cnf文件设置开启,下面先来看一下相关参数的意义
log-slow-queries <slow_query_log_file>
存放slow query日志的文件。你必须保证mySQL Server进程mysqld_safe进程用户对该文件有w权限。
long_query_time
如果query time超过了该值,则认为是较慢查询,并被记录下来。单位是秒,最小值是1,默认值是10秒。10秒对于大多数应用来讲,太长了。我们推荐从3秒开始, 依次减少,每次都找出最”昂贵”的10条SQL语句并且优化他们。日复一日,一步一步优化。一次性找出很多条SQL语句,对于优化来讲,意义并不大。
log-queries-not-using-indexes
MySQL会将没有使用索引的查询记录到slow query日志中。无论它执行有多快,查询语句没有使用索引,都会被记录。有的时候,有些没有使用引索的查询非常快(例如扫描很小的表),但也有可能导致服务器变慢,甚至还会使用大量的磁盘空间。
log-slow-admin-statements
一些管理指令,也会被记录。比如OPTIMEZE TABLE
, ALTER TABLE
等等。
开启慢查询
方法一:在服务器上找到mysql的配置文件my.cnf , 然后再mysqld模块里追加一下内容
log_slow_queries = NO
log-slow-queries = /var/run/mysqld/slow_querys.log
long_query_time = 3
log-queries-not-using-indexes
log-slow-admin-statements
--结束END--
本文标题: 通过MySQL慢查询优化MySQL性能的方法讲解
本文链接: https://www.lsjlt.com/news/52140.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0