慢查询日志

参考:https://www.cnblogs.com/saneri/p/6656161.html

查询是否开启慢查询日志: show variables like '%slow_query_log%'; 
开启慢查询日志: set global slow_query_log=1;

查询慢查询的阈值:show variables like '%long_query_time%';

设置超过多少秒就记录慢查询日志:  set global long_query_time=3;

日志输出的形式: log_output

  说明一下:log_output可以是TABLE也可以是FILE,也可以同时是,用逗号隔开,分别表示日志以表输出和以文件输出;

未做索引的查询也做慢查询日志: log_queries_not_using_indexes

索引(空间换时间)

主键索引

普通索引

唯一索引

全文索引

组合索引

伴随

sql语句优化

所有查询*

  尽量少用 select * from

Null

  不要用 where xx is null ,可以给字段初始化一个值以对应null的情况

!=

  尽量不要用 != ,使用 in 或者 not in

少用子查询

  子查询:嵌套(select查询)

in

  尽量不用in用 between 和 exists

join 超过三张表不要join,join的字段最好是索引

索引 有唯一属性的尽量建索引,order by索引

关于sql优化的一些点的更多相关文章

  1. SQL优化案例—— RowNumber分页

    将业务语句翻译成SQL语句不仅是一门技术,还是一门艺术. 下面拿我们程序开发工程师最常用的ROW_NUMBER()分页作为一个典型案例来说明. 先来看看我们最常见的分页的样子: WITH CTE AS ...

  2. sql 优化

    1.选择最有效率的表名顺序(只在基于规则的优化器中有效): oracle的解析器按照从右到左的顺序处理 from 子句中的表名,from子句中写在最后的表(基础表driving table)将被最先处 ...

  3. SQL 优化总结

    SQL 优化总结 (一)SQL Server 关键的内置表.视图 1. sysobjects         SELECT name as '函数名称',xtype as XType  FROM  s ...

  4. (转)SQL 优化原则

    一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...

  5. sql优化阶段性总结以及反思

    Sql优化思路阶段性心得: 这段时间的优化做了好几个案例,其实有很多的类似点,都是好几张大表的相互连接,然后执行长达好几个小时,甚至都跑不出来. 自己差不多的思路就是Parallel full tab ...

  6. mysql sql优化实例

    mysql sql优化实例 优化前: pt-query-degist分析结果: # Query 3: 0.00 QPS, 0.00x concurrency, ID 0xDC6E62FA021C85B ...

  7. SQL优化技巧

    我们开发的大部分软件,其基本业务流程都是:采集数据→将数据存储到数据库中→根据业务需求查询相应数据→对数据进行处理→传给前台展示.对整个流程进行分析,可以发现软件大部分的操作时间消耗都花在了数据库相关 ...

  8. ORACLE常用SQL优化hint语句

    在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...

  9. SQL优化有偿服务

    本人目前经营MySQL数据库的SQL优化服务,100块钱一条.具体操作模式 其中第一条,可以通过在微信朋友圈转发链接中的信息(http://www.yougemysqldba.com/discuz/v ...

  10. 【MySQL】SQL优化系列之 in与range 查询

    首先我们来说下in()这种方式的查询 在<高性能MySQL>里面提及用in这种方式可以有效的替代一定的range查询,提升查询效率,因为在一条索引里面,range字段后面的部分是不生效的. ...

随机推荐

  1. c语言实现:扫雷

    问题描述:相信大多数人都很熟悉扫雷游戏,在n*n的雷盘上随机埋上一些雷,玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格.游戏的目标是在不翻出任何地雷格的条件下,找出所有 ...

  2. Spring注解测试

    @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:applicatio ...

  3. MYSQL1

    一:对查询就行优化 避免全表查询 1.首先考虑在where及order by 列上建立索引 2.where子句   LIKE  '%abc%' 前置%   引擎放弃使用索引而进行全表扫描 3.wher ...

  4. 在CentOS7中安装scala-2.11.12

    从官网下载scala的相关版本 https://www.scala-lang.org/download/2.11.12.html 解压安装包 tar zxf scala-.tgz -C /usr/sc ...

  5. C#使用List实现类似RadioButtonGroup的单选功能

    首先说说需求,有多种不同类型的UserControl用于以不同的方式显示数据,想通过在另一个view中实现某种点击选中按钮后,在数据显示view中,只让被逻辑关联的UserControl显示(Visi ...

  6. 前端笔记-javaScript-2

    一.JavaScript的对象 简介: 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array. ...

  7. 求$N^N$的首位数字

    正如"大得多"定理所言,当$n\longrightarrow \infty$时: $$  n^n \gg n! \gg a^n \gg n^b \gg ln^kn $$ $f(n) = n^n$的增长 ...

  8. maven+springMVC+mybatis+sqlserver数据

    因为之前搭好的是maven+springMVC+mybatis+mysql数据库环境,但是在实际工作项目是使用的sqlserver数据库,本文是针对数据库从mysql切换到sqlserver数据库 s ...

  9. SVM-sklearn

    目的:1000张数字0-9的手写数字,训练识别手写数字:将其作为32*32的0,1化的数字,随后会将其变为1024列的一个向量 原理:SVM就是把平面的点变为一个空间的点,更好切,核函数就是怎么把他变 ...

  10. conda 常用命令

    conda search --full --name python conda update -n base conda //update最新版本的conda conda create -n xxxx ...