SQL优化(二)-- 慢查询
1.慢查询日志
MYSQL的慢查询日志是Mysql提供的一种日志记录方式,它主要是用来记录mysql执行语句过程中,响应时间超过阀值的语句,这个阀值可以通过long_query_time去指定,比如说如果我们将long_query_time指定为5,则意思执行耗时5秒以上的语句都会被我们的慢查询日志给记录下来.
2.慢查询日志的作用
通过使用慢查询日志,我们可以先捕获耗时的语句,然后再结合explain执行计划进行全面的分析,从而达到优化的目的
默认情况下,mysql数据库并没有开启慢查询日志,因为开启慢查询日志记录本身就需要消耗数据库服务器性能,需要我们手动来开启,如果不是专门做优化的话,不建议开启慢查询日志
3.开启慢查询
查看是否开启和如何开启慢查询日志
-- 查看
show variables like '%slow_query_log%';
--开启(注意:只是临时生效,数据库重启之后,失效)
set global slow_query_log=1;
--永久开启
-- 1.修改my.cnf文件,在[mysqld]下增加或修改参数
slow_query_log=1;
slow_query_log_file="文件路径/kaijun-slow.log"; (如果不指定这一行的话,系统默认会给一个默认文件名)
-- 2. 重启mysql服务器
设定慢查询日志的阀值
-- 查看当前阀值(默认是10s)
show global variables like 'long_query_time';
-- 设置阀值
long_query_time=秒数
-- 注意: 只有sql语句耗时大于long_query_time的语句才会被记录下来
调试语句
select sleep(秒数);
查看当前系统中慢查询出现的次数
show global status like '%Slow_queries%';
慢查询开启配置模版
slow_query_log=1
slow_query_log_file="文件路径/kaijun-slow.log"
long_query_time=秒数
log_output=file,table (日志输出到文件和mysql数据库中的slow_log表中)
SQL优化(二)-- 慢查询的更多相关文章
- sql 优化 链接提示 查询提示 标提示
SQL Server的查询优化器在select查询执行的时候产生一个高效的查询执行计划.如果优化器不能选择最优的计划,那么就需要检查查询计划.统计信息.支持的索引等,而通过使用提示可以改变优化器选择查 ...
- SQL优化之慢查询和explain以及性能分析
性能优化的思路 首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句 使用explain去查看该sql的执行计划 使用show profile去查看该sql执行时的性能问题 MySQL性能优化 ...
- LINQ to Sql系列二 简单查询和联接查询
这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询) 单表查询 需求是我们要输出TClass表中的结果.使用了from-in-select语句,代码如下: public ...
- SQL优化系列——子查询
sql调优方法: (1)not in子查询优化 尽量避免子查询select * from a where id not in(select id from b); select * from a wh ...
- SQL优化-标量子查询(数据仓库设计的隐患-标量子查询)
项目数据库集群出现了大规模节点宕机问题.经查询,问题在于几张表被锁.主要问题在于近期得几个项目在数据库SQL编写时大量使用了标量子查询. 为确定为题确实是由于数据表访问量超过单节点限制,做了一些测试. ...
- mysql SQL优化之嵌套查询-遁地龙卷风
(-1) 写在前面 这篇随笔的数据使用的是http://blog.csdn.net/friendan/article/details/8072668#comments里的,里面有一些常见的select ...
- Oracle Sql优化之分层查询(connect by)
1.对于表中行与行存在父子关系时,可以通过connect by查询方式,查询行与行之间的父子关系 ),'-')|| empno as tempno, ename,mgr,level, decode(, ...
- C# SQL优化 及 Linq 分页
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- 系统优化怎么做-SQL优化
大家好,这里是「聊聊系统优化 」,并在下列地址同步更新 博客园:http://www.cnblogs.com/changsong/ 知乎专栏:https://zhuanlan.zhihu.com/yo ...
- SQL优化策略
mysql添加索引 1.主键索引LATER TABLE 'table_neme' ADD PRIMARY KEY('column');2.唯一索引unique空串(null)可以放多个 如果是具体的内 ...
随机推荐
- jmeter性能测试学习1_配置oracl jdbc连接
1.导入orcle驱动的jar包 2.添加配置元件选择 JDBC连接配置 3.添加取样器 JDBCrequest 4.添加观察树,运行 配好密码 OK
- 打开CMD的方式
打开Cmd的方式: 1.开始+系统+命令提示符 2.Win键+R 3.在任意文件夹下,按住Shift键+鼠标右键点击,在此处打开命令行窗口 4.资源管理的地址栏前面加上Cmd路径 管理员运行方式 :系 ...
- jsp第8个作业
public boolean addMail(Msg msg){ Statement st =null; Connection con=null; try{ //获取连接 con = getConne ...
- vue + vant 移动端适配
1. 设置动态根字号大小,/public/phone-adapt.js,在index.html中引入 (function (doc, win) { const docEl = win.document ...
- FCC 中级算法题 Everything Be True
Everything Be True 所有的东西都是真的! 完善编辑器中的every函数,如果集合(collection)中的所有对象都存在对应的属性(pre),并且属性(pre)对应的值为真.函数返 ...
- LNMP架构的演变
LNMP 演变 工作原理 linux + nginx + mariadb + php 工作原理: 首先,浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求, 将一 ...
- CATIA的后处理
同其他的cam软件一样,catia可以使用配置好的后处理文件输出相应的G代码文件, 也可以输出相应的刀位文件. 下图中的1选择的是后处理文件:下图2种设置的是输出刀位文件的格式. 输出G代码: 选择[ ...
- jooq简单使用
DSLContext首先简单的配置文件 <?xml version="1.0" encoding="UTF-8" standalone="yes ...
- idea乱码
第一步:修改intellij idea配置文件: 找到intellij idea安装目录,bin文件夹下面idea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别 ...
- Django Models字段设置为空,界面上还校验必填问题
models.CharField(max_length=1000,null=True,blank=True) 其中blank=True是admin管理后台自动校验放开