mysql优化 慢查询(一)

1.显示慢查询的一些参数的命令:show variables like ‘%slow%‘;结果如图

2.上面四个参数的意思是:

log_slow_queries  off    表示“慢查询”是“关闭的状态”

slow_launch_time  2     表示“查询时间超过2秒就记录到慢查询日志中”;

slow_queries_log  off   表示慢查询日志开关是关着的

slow_query_log_file "路径"   表示慢查询日志存放完整路径

3.开启慢查询的功能

使用命令:set global log_slow_queries=on;   这样就开启了慢查询的功能,此参数打开了,slow_query_log就自动变成了on,关闭了的话也跟着关闭。

4. 其实slow_launch_time的设定跟慢查询日志的查询阀值设定不同,表示了thread create的一个阀值,

如果thread create的时间超过了这个值,这变量slow_launch_time的值加1.

  set global log_launch_time=1  这里的时间值必须是整数,否则的话就话执行出错

慢查询的查询阀值是long_query_time 默认是10秒

5.设置slow_query_log_file的值是字符串必须用引号引起来。

要真正修改慢查询得去修改mysql的文件,内容添加如下

long_query_time=0  只要是执行的都写入了慢查询日志
log_slow_queries=on   慢查询开关
slow_query_log =on    慢查询日志开关
slow_query_log_file="D:/phpStudy/1.log"  慢查询日志文件

并且还得重新启动mysql才会生效

慢查询的日志结构如下:

MySQLa, Version: 5.5.40-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time                 Id Command    Argument
# Time: 150705 18:31:54
# [email protected]: root[root] @ localhost [127.0.0.1]
# Query_time: 0.012001  Lock_time: 0.001000 Rows_sent: 51  Rows_examined: 51
use weixin;
SET timestamp=1436092314;
show databases;
# Time: 150705 18:32:55
# [email protected]: root[root] @ localhost [127.0.0.1]
# Query_time: 0.002000  Lock_time: 0.001000 Rows_sent: 1  Rows_examined: 1
SET timestamp=1436092375;
show variables like  "%query_time%";
# Time: 150705 18:33:03
# [email protected]: root[root] @ localhost [127.0.0.1]
# Query_time: 0.001000  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 0
use chlitina;
SET timestamp=1436092383;
use `chlitina`;
# [email protected]: root[root] @ localhost [127.0.0.1]
# Query_time: 0.031001  Lock_time: 0.001000 Rows_sent: 869  Rows_examined: 869
SET timestamp=1436092383;
select * from wp_consultant;
# Time: 150705 18:33:40
# [email protected]: root[root] @ localhost [127.0.0.1]
# Query_time: 0.052003  Lock_time: 0.001000 Rows_sent: 869  Rows_examined: 1738
SET timestamp=1436092420;
select * from wp_consultant order by id desc;
时间: 2024-10-15 04:51:24

mysql优化 慢查询(一)的相关文章

MySQL优化COUNT()查询

COUNT()聚合函数,以及如何优化使用了该函数的查询,很可能是最容易被人们误解的知识点之一 COUNT()的作用 COUNT()是一个特殊的函数,有两种非常不同的作用: 统计某个列值的数量 统计行数 统计列值 在统计列值时,要求列值是非空的,即不统计NULL.如果在COUNT()的括号中指定了列或者列的表达式,则统计的就是这个表达式有值的结果数. 统计结果集的行数 当MySQL确认括号内的表达式的值不可能为空时,实际上就是在统计行数,最简单的就是当我们使用COUNT(*)的时候,这种情况下通配

MySQL优化之——查询

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46580589 MySQL中select的基本语法形式 select 属性列表 from 表名和视图列表 [where 条件表达式] [group by 属性名[having 条件表达式]] [order by 属性名[asc|desc]] [limit <offset>,row count] 说明: where子句:按照"条件表达式"指定的条件进行查询. g

MySql优化子查询

用子查询语句来影响子查询中产生结果rows的数量和顺序. For example: SELECT * FROM t1 WHERE t1.column1 IN (SELECT column1 FROM t2 ORDER BY column1); SELECT * FROM t1 WHERE t1.column1 IN (SELECT DISTINCT column1 FROM t2); SELECT * FROM t1 WHERE EXISTS (SELECT * FROM t2 LIMIT 1)

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

一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connections 2)      back_log 3)      interactive_timeout 4)      key_buffer_size 5)      query_cache_size 6)      record_buffer_size 7)      read_rnd_buffer

mysql笔记03 查询性能优化

查询性能优化 1. 为什么查询速度会慢? 1). 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行的更快. 2). 通常来说,查询的生命周期大致可以按照顺序来看:从客户端,到服务器端,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中"执行"可以认为是整个生命周期中最重要的阶段,这其中包括 大量为了检索数据到存储引擎的调用以及调用后

MySQL优化篇之慢查询

1.什么是MySQL的慢查询? mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化. 2.查看和配置MYSQL慢查询相关信息 第一,慢查询,这个慢,时间上是怎么定义的?多久才算慢呢? MYSQL有2种类型的变量,一个是服务器变量(show variables),一个是状态变量(show status).这2种变量都分global/session. 从上图可以看出,10秒以内执行完毕的SQL

mysql性能优化-慢查询分析,优化索引最佳实践

数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显,我们究竟应该如何对MySQL数据库进行优化? 下面我就从MySQL对硬件的选择.MySQL的安装.my.cnf的优化.MySQL如何进行架构设计及数据切分,查询与索引优化分析等方面来说明这个问题. (一)服务器物理硬件的优化 在挑选硬件服务器时,我们应该从下面几个方面着重对MySQL服务器的硬件配置进行优化,也就是说将项目中的资金着重投入到如下几处: 1.磁盘寻道能力(磁盘I/O),我们现在用的都是SAS15000转的硬盘,

mysql in 子查询 效率慢 优化(转)

现在的CMS系统.博客系统.BBS等都喜欢使用标签tag作交叉链接,因此我也尝鲜用了下.但用了后发现我想查询某个tag的文章列表时速度很慢,达到5秒之久!百思不解(后来终于解决),我的表结构是下面这样的,文章只有690篇. 文章表article(id,title,content)标签表tag(tid,tag_name)标签文章中间表article_tag(id,tag_id,article_id)其中有个标签的tid是135,我帮查询标签tid是135的文章列表用以下语句时发现速度好慢,我文章才

MySql 优化(一)----- 慢查询

开启慢查询 首先我们先查看MYSQL服务器的慢查询状态是否开启.执行如下命令: 我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询. 开启慢查询非常简单, 操作如下: Linux下找到mysql的配置文件my.ini, 在mysqld下方加入慢查询的配置语句(注意:一定要在[mysqld]下的下方加入) log-slow-queries: 代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限: mysql  explain用法 explain显示了