为了验证select 1 与 select 1 from tableName 与 select * from tableName的执行效率,需要测试一下各自执行的时间。于是总结一下,查看mysql语句运行时间的方法。

1. show profiles。

mysql 版本

Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。通常我们是使用的explain,以及slow query log都无法做到精确分析,Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后。

但是Query Profiler却可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。

查看数据库版本方法:show variables like “%version%”; 或者 select version();

开启 show profile

确定支持show profile 后,查看profile是否开启,数据库默认是不开启的。变量profiling是用户变量,每次都得重新启用。

查看方法: show variables like “%pro%”;

设置开启方法: set profiling = 1;

再次查看show variables like “%pro%”; 已经是开启的状态了。

执行

可以开始执行一些想要分析的sql语句了,执行完后,show profiles;即可查看所有sql的总的执行时间。

mysql> show profiles;

±---------±-----------±-----------------------+

| Query_ID | Duration | Query |

±---------±-----------±-----------------------+

| 1 | 0.00054775 | show tables |

| 2 | 0.00022400 | select * from aa |

| 3 | 0.00026275 | update aa set name=‘d’ |

| 4 | 0.00043000 | delete from bb |

±---------±-----------±-----------------------+

4 rows in set (0.00 sec)

show profile for query 1 即可查看第1个sql语句的执行的各个操作的耗时详情。

show profile cpu, block io, memory,swaps,context switches,source for query 6;可以查看出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等

show profile all for query 6 查看第6条语句的所有的执行信息。

测试完毕后,关闭参数:set profiling=0

2. timestampdiff来查看执行时间。

这种方法有一点要注意,就是三条sql语句要尽量连一起执行,不然误差太大,根本不准

set @d=now();

select * from comment;

select timestampdiff(second,@d,now());

如果是用命令行来执行的话,有一点要注意,就是在select timestampdiff(second,@d,now());后面,一定要多copy一个空行,不然最后一个sql要你自己按回车执行,这样就不准了。

mysql解析运行时间_分析 MySQL 语句运行时间相关推荐

  1. mysql distinct 慢_分析MySQL中优化distinct的技巧

    有这样的一个需求:select count(distinct nick) from user_access_xx_xx; 这条sql用于统计用户访问的uv,由于单表的数据量在10G以上,即使在user ...

  2. mysql授权许可_分析MySQL的授权许可

    MySQL是开源软件,但开源不意味着免费,开源软件的使用应遵循该软件提供的使用授权许可.MySQL的授权许可是英文的,而且一直以来没有权威的中文译本,所以很多人都不清楚其中的细节. 最近我在做一些AS ...

  3. python输出运行时间_分析python程序运行时间的几种方法

    最早见过手写的,类似于下面这种: 1 import datetime 2 3 def time_1(): 4 begin = datetime.datetime.now() 5 sum = 0 6 f ...

  4. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  5. mysql 执行概况_转mysql源码分析之SQL执行过程简介

    本人打算从SQL语句的执行开始学习和分析MYSQL源码,首先了解MYSQL是如何执行一条SQL语句的,详细了解它的执行过程之后,再深入学习执行一条SQL语句的运行原理. 1)从执行一条SQL语句的堆栈 ...

  6. mysql not exists无效_分析MySQL中哪些情况下数据库索引会失效

    要想分析MySQL查询语句中的相关信息,如是全表查询还是部分查询,就要用到explain. 一.explain 用法:explain +查询语句. id:查询语句的序列号,上面图片中只有一个selec ...

  7. strace 分析mysql 内存占用_关于mysql cluster适用场景的分析

    前言: mysql cluster作为mysql官方的一个集群软件,一直是不温不火的存在,用的较多的仍是mysql-server,本文就基于mysql cluster的特性,分析一下什么场景下适合使用 ...

  8. mysql float字节长度_分析MySQL数据类型的长度

    分析MySQL数据类型的长度 MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length).VARCHAR(Length).TINYINT(Length). SMAL ...

  9. mysql多大_洞悉MySQL底层架构:游走在缓冲与磁盘之间

    提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系.为此我撰 ...

最新文章

  1. transformer面试总结 模型中BN batchNormalize LN layerNormalizer区别
  2. Web应用安全审计工具WATOBO
  3. 故障排错-解决迅雷播放器在Windows 10中长时间停止响应
  4. 为新手准备的 Codea 着色器(Shader)教程
  5. 使用数值计算库Zero - VC6调用失败、cfree调用成功
  6. k8s部署nfs-client-provisioner完整实践版(亲测有效)
  7. Lamda和kappa架构
  8. Dubbo服务导出原理
  9. cmd查看开放的端口
  10. 支付宝小程序日期选择组件datePicker封装
  11. windows10-seaslog安装笔记
  12. 计算机无线网络连接怎么弄,Win7系统如何设置无线网络连接?
  13. 渗透测试工具——BurpSuite
  14. 龙芯2k1000-pmon(7)- pmon版本控制
  15. PowerApps初体验,低代码快速搭建一套五一休假报备管理系统(一)
  16. Word美化技巧:Word文档怎么设置背景图片?
  17. 词霸天下---140 词根 【-us- = -uti(l)- = -ut- 使用 】
  18. python pandas数据清洗:sample()函数
  19. [NOIP初赛复习]插空法与插板法解排列组合问题
  20. 虚幻4渲染编程(环境模拟篇)【第五卷:可交互物理植被模拟 - 上】

热门文章

  1. LightGBM是什么?相对于xgboost有什么优势?如何使用randomSearchCV和lightgbm进行组合获取最优参数组合?
  2. php统计键出现的次数,php统计数组元素出现的次数
  3. go语言之旅 (一)
  4. 数字图像处理7:图像增强之灰度变换
  5. 战锤全面战争无法响应服务器,战锤:全面战争打不开 游戏无法启动解决办法...
  6. 如何学习修改linux系统固件,基于Linux的固件,如何实现更新的好方法?
  7. # 关闭 window10自带广告 microsoft star
  8. 4.二叉树的先序、中序以及后序遍历的递归写法与非递归写法(LeetCode第94、144、145题)
  9. [转载]Python爬取豆瓣影评并生成词云图代码
  10. rocksdb报错解决:librocksdb.a(format.o): In function `Zlib_Uncompress':