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)可以放多个 如果是具体的内 ...
随机推荐
- maven远程debug
1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 添加参数 CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_soc ...
- CF 1272 D. Remove One Element
D. Remove One Element time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- 容器数据库(CDB)和传统的非容器数据库的区别
传统的非容器数据库在系统元数据和实例资源没有进行任何共享.容器数据库把 Oracle 提供的元数据.后台进程以及内存结构进行共享,把每个部门数据库的存储结构以 PDB 的形式独立出来,从而实现了系统资 ...
- Linux CentOS Docker Asp.net Core MVC 模板项目的部署
本文只是记录 .net core 3.1 项目的基本部署方法,灵活应对不同情况与需求 工具:VS 2019 Linux CentOS 7 x64 Xshell Xftp Docker 安 ...
- 1009.Django模型基础04
一.数据库数据渲染到模板 二.案例的功能介绍 博客小案例功能介绍: 主页index.html--------------> 展示添加博客和博客列表的文字,实现页面跳转 添加页add.html-- ...
- 1006.Django模型基础01
一.Django的ORM简介 1. ORM概念:对象关系映射(Object Relational Mapping): 2. ORM优势:不用直接编写SQL代码,只需像操作对象一样从数据库操作数据. d ...
- manjaro挂载NTFS系统的方法
本文部分引自https://blog.csdn.net/baimaozi/article/details/3134267?utm_medium=distribute.pc_relevant.none- ...
- C# EF框架的入门使用
如何构建数据模型 新建项 ADO.NET 实体模型 设置链接 链接字符串需要选择"是,包含敏感数据 注意:EF的框架引用的表应该要存在主键,程序引用中要包含 using System.Dat ...
- python print 一个进度条
import time scale=100 print("执行开始".center(scale+28,'-')) start = time.perf_counter() for i ...
- python 调试 qml
1.设置pycharm的parameters -qmljsdebugger=port:10002,block 2.python 启动调试: 点击debug按钮 3.设置qt creater qt cr ...