首页
学习
活动
专区
工具
TVP
发布

MySQL诊断调常用SQL

在很多时候,我们需要通过SQL语句来查看MySQL执行SQL的情况,例如查看SQL执行队列,是否存在慢查询等等。...先看下基础配置,监控mysql执行的sql语句需要先开启相关日志 linux系统 可以在/etc/mysqld中添加如下: 指定日志路径 log =/usr/local/mysql/mysql.log...long_query_time = 1 windows系统 修改my.ini,在mysqld下添加log一行, [mysqld] log = "D:/tmp/mysql_log/mysql_log.sql...常用的SQL,用于诊断排查问题 注:下列SQL在执行时,可能还需要你开启MySQL相应的配置项,请根据提示进行配置 1....查看某条sql各阶段执行时间,可开启profiling功能 set global profiling=on; 其他的,大家可以去搜索下,更多的SQL性能分析、调方面的常用语句 大家可以自己动手去试试上面的语句

1.1K40

MySQL百万级、千万级数据多表关联SQL句调

本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使百万级、千万级数据表关联查询第一页结果能在2秒内完成(真实业务告警系统优化结果)。...希望读者能够理解SQL的执行过程,并根据过程优化,走上自己的"成金之路" 需要优化的查询:使用explain      出现了Using temporary;      有分页时出现了Using filesort...1.使用explain语法,对SQL进行解释,根据其结果进行调:      MySQL 表关联的算法是 Nest Loop Join,是通过驱动表的结果集作为循环基础数据,然后一条一条地通过该结果集中的数据作为过滤条件到下一个表中查询数据

2.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

生产环境sql句调实战第九篇(r3笔记第34天)

生产环境中有一些sql语句是不定时炸弹,不声不响的运行着,可能相关的表很大,运行时间达数小时,甚至数天。 上周在生产环境中发现一条sql语句,运行时间几乎是按照天来计算的。...看到这种sql语句,就希望能够马上能够找到立竿见影的效果,不过欲速则不达,需要做不少工作。一定要反复验证可行。...sql语句的运行情况如下: SQL Execution ID : 16777217 Execution Started : 10/18/2014 11:46:30 First Refresh Time...根据统计信息来看,这个sql语句运行需要持续了大概3天。 首先来看看这条sql语句。...所以很明显存在sql语句的问题。 image.png 所以要调这条sql语句,还得结合业务入手。要不盲目加hint,加并行不是长久之计。

71350

生产环境sql句调实战第六篇(r2笔记91天)

生产环境中有大量的sql语句在运行,尽管有awr,ash做数据的收集统计,但是dba的调工作大多数情况都是在问题已经发生后做排查的,有些sql语句可能执行的时间有1,2分钟左右,但是sql语句本身有潜在的性能问题...今天想做数据迁移也有些日子了,看看生产环境中有哪些sql语句出现频繁,而且有明显的性能问题。...关于通过shell和sql查找性能sql的部分,可以参考如下的帖子,基本原理就是后台做sql_monitor的监控,然后由shell进行性能数据的统计。...http://blog.itpub.net/23718752/viewspace-1253426/ 通过如下的sql语句定位到目前有如下的几个sql语句出现频繁,执行时间较长。...select *from (select sql_id,count(*)cnt from issue_sql where sql_date like '1408%' group by sql_id)

56340

生产环境sql句调实战第七篇(r2笔记99天)

在数据迁移完成之后,开始了例行的后期数据库维护,早上一来就发现了一个sql执行时间很长了。达到了37279秒。最后在改进调之后执行速度在1分钟以内。...显示了同样的sql语句在7月份至今的执行情况,还真是奇怪,昨天以前一直正常,期间也进行过两次数据迁移,昨天的数据迁移完成以后,性能就出奇的差。 ?...通过sql_monitor得到了执行计划和对应的sql语句。 可以看到执行时间是昨天的下午,一直执行到今天的凌晨。...Instance ID : xxxxxx (6839:20499) SQL ID : 16777216 Execution Started : 09/17/2014 13:44:24 Last Refresh...对应的sql语句如下: select /*+ index(s SERVICE_DETAILS_2FK) index(d CHARGE_DISTRIBUTE_1IX) */ DISTINCT t.L9_

66180

生产环境sql句调实战第八篇(r3笔记第24天)

生产环境中的sql语句执行时间是很关键的性能指标,如果某个sql语句执行几个小时,优化以后几分钟,几十秒的话。...会有很大的成就感,同时如果某个sql语句执行10秒,能够优化到1秒,感觉提升的幅度不是很大,但是如果这条语句执行极为频繁的话,那这种调还是更有成就感的。...执行时间是sql的一把标尺,但是同时也需要考虑到系统资源的平衡。 今天在系统中发现一条sql语句执行时间很长。平均一个查询要执行一个半小时左右,而且系统的资源消耗极大。...查看执行计划,倒看不出有明显的异常,这也就是执行计划的一个误区了,我们不能总是参考执行计划来进行调,很多时候发现执行计划几乎是完美的,但是执行效率却很长。 sql语句如下所示。...我先把这个问题发给一个性能调的哥们,他在不改动sql语句的前提下,加了几个Hint,执行时间就从1个半小时降低到4分钟左右,猛一看这是一个极大的提升,看似不用修改sql语句了。

59670

生产环境sql句调实战第十篇(r3笔记第39天)

陆陆续续写了九篇关于生产环境sql语句的调案例,发现了不少问题,可能有些问题回头来看是比较低级的错误,稍加改动就能够运行在秒级,有些可能是在秒级到毫秒级的小步提升等等,不管调的改进多大,从dba的角度来看...,好多问题都是基于资源来调的,比如添加索引,降低IO,降低CPU消耗,提高CPU利用率等等。...如果有时候从业务角度来下下功夫,可能某种程度上效果要更好于基于资源/代价的调。 最近客户反馈有几条sql语句IO消耗很高,希望我们能够给提点建议。 sql语句很短,但是运行时间在9秒左右。...看着sql语句比较简单,但是还没有立竿见影的效果也有些让人着急。数据库的角度的一些调整可能奏效不大,自己就想看看从业务角度能做点什么。 静下心来看看sql语句。...所以有些时候业务的角度来调可能会有意向不到的收获。还有几个类似的语句,执行时间在分钟级,调整成类似的形式之后,都在毫秒级就完成了数据查询。

88950

SQL系列文章之—SQL简介

完整的SQL系统目录 调 Oracle SQL系列文章共有以下几部分: SQL性能基础知识 SQL简介 SQL性能方法论 查询优化工具基础知识 SQL处理 查询优化器概念 查询转换 查询执行计划...自动SQL调整 管理SQL集 使用SQL顾问分析SQL 使用SQL访问顾问优化访问路径 SQL管理对象 管理SQL Profile SQL计划管理概述 管理SQL计划基准 1 SQL简介...1.1 关于SQL SQL是提高SQL语句性能以满足特定、可衡量和可实现目标的迭代过程。 SQL意味着修复已部署正在运行的应用程序中的问题。...1.4.1 SQL任务 调会话的细节取决于许多因素,包括您是主动调还是被动调。 在主动SQL中,您经常使用SQL Tuning Advisor来确定是否可以使SQL语句更好地执行。...所有自动SQL工具都可以使用SQL集作为输入。 SQL集(STS)是一个数据库对象,包括一个或多个SQL语句及其执行统计信息和执行上下文。

1.8K30

SQL之性能调

一般规则 这一部分,将看一下一些在书写简单查询时需要注意的通用的规则。 根据权值来优化查询条件 最好的查询语句是将简单的比较操作作用于最少的行上。...Sargability 理想的 SQL 表达式应该采用下面这种通用的格式: 早些时候,IBM 研究人员将这种查询条件名命名为”sargable predicates”,因为 SARG 是 Search...针对专门操作符的调 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。...AND OR 查询 Row# Colmun1 Column21 3 A2 2 B3 1 C 当数据库系统按照查询进行搜索时,它按照下面的步骤执行: 索引查找...本文总结的是一些 SQL 性能调的比较初级的方面,SQL还包括 Order by,Group by 以及 Index 等等。

1.7K30

SQL 写入调

今天看到一篇非常适合本人这种数据库调小白级别的人学的文章,做个笔记,学习之。 首先建一个用户表: CREATE TABLE [dbo]....在客户端代码中,我们使用拼接SQL语句方式实现数据写入,由于SQL语句是动态执行的,所以恶意用户可以通过拼接SQL的方式实施SQL注入攻击。   ...对于SQL注入攻击,我们可以通过以下方式防御: 正则表达校验用户输入 参数化存储过程 参数化SQL语句 添加数据库新架构 LINQ to SQL 下面参数化SQL语句: using (var conn...解析器的开销   当我们向SQL Server传递SQL语句INSERT INTO …时,它需要对SQL语句进行解析,由于SQL Server解析器执行速度很快,所以解析时间往往是可以忽略不计,但我们仍然可以通过使用存储过程...SQL Server保证每条语句执行时,数据库是完全可预测的(例如:预测SQL执行方式和管理锁都需要耗费一定的时间)。

94860

MaxCompute SQL

SQL成本计算=读取IO数据量*SQL复杂度 所以,SQL可以从两方面入手:①减少数据量;②降低SQL复杂度 一、减少数据量 1.表分区优化 (1)创建分区表 (2)分区裁剪、避免全表扫描。...2.列裁剪、条件过滤 (1)避免使用select * ,查询需要的列 (2)使用Limit N (3)使用条件过滤,pushdown. 3.源表合并 (1)合并不同SQL,一读多计算 (2)子查询合并...二、优化SQL复杂度 1.JOIN连接,MapJoin优化(SELECT /* + MAPJOIN(b) */) 运行原理: ①小表数据全部加载内存; ②读取大表的每个...④普通join连接可能发生数据倾斜(原因:null值、缺省值、大Key值;数据分发不合理等),可以显示指定mapjoin: 增加源表作为大表的并发度:set odps.sql.mapper.split.size...= 128; 增加子查询作为大表并发度:set odps.sql.joiner.instances = 1111; 2.Full outer join 全连接优化 (1)使用限制

1.4K20

SQL 性能调

替换DISTINCT (19) sql语句用大写的;因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行 (20) 在java代码中尽量少用连接符“+”连接字符串!...语句, 估算索引的利用率, 绑定变量 , 读数据块等; 回到顶部 (5)在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为...效率 复杂的SQL往往牺牲了执行效率....语句 虽然目前各种关于SQL优化的图形化工具层出不穷,但是写出自己的SQL工具来解决问题始终是一个最好的方法: SELECT  EXECUTIONS , DISK_READS, BUFFER_GETS,...回到顶部 (33) 避免使用耗费资源的操作 带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎 执行耗费资源的排序(SORT)功能.

3.2K10

生产环境大型sql句调实战第一篇(一) (r2笔记第31天)

在生产环境中有一条sql语句的性能极差,在早晨非高峰时段运行抽取数据,平均要花费40分钟,有时候竟然要跑10个多小时。 sql语句比较长,需要点耐心往下看。我对表的数据量都做了简单的说明。...首先拿到sql语句,一看到关联的表有一长串,而且都是很大的表。如果性能很差,可能和走全表扫描有关,还有可能和多表关联时,表的查取顺序也有一定的关系。...庆幸的是这条sql语句貌似已经使用sql profile调过了,性能才保持在40左右。...--------------------------------------------------------------------------------- Note ----- - SQL...--简化sql 可以看到sql语句中存在着很多重复的过滤条件,需要考虑在不改变业务的情况下保证语句的简单易读。 --减少/去除全表扫描 尝试减少或者去除全表扫描,保证效率。

93940
领券