技术栈

主页 > 数据库 >

数据库怎么用ShowProfile进行sql分析

技术栈 - 中国领先的IT技术门户

(一).是什么

mysql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL调优的测量。

(二).怎么玩

1.开启

\

2.运行SQL

首先生成一张有百万数据的表,参考我的另一个博客jdbc生成百万数据

执行SQL,

\

查看结果执行命令:show profiles;

\

上图记录了每个查询SQL的具体语句和查询时间duration

4.诊断SQL

show profile cpu,block io for query query_id

\

上图记录了一条SQL的完整生命周期,出现问题(慢)的原因如下

假如出现了以下四个参数,表明SQL出现了问题

1. converting HEAP to MyISAM

查询结果太大,内存都不够用了,往磁盘上般

2. Creating tmp table

创建临时表:拷贝数据到临时表,用完再删除

3.Copying to tmp table on disk

把内存中临时表复制到磁盘,危险!!!!

4. locked

被锁住

责任编辑:admin  二维码分享:
本文标签: SQL查询querytmptable内存