图文详解Mysql中如何查看Sql语句的执行时间

目录
  • 一、初始SQL准备
  • 二、Mysql查看Sql语句的执行时间
  • 三、不同查询的执行时间
  • 总结

Mysql中如何查看Sql语句的执行时间

一、初始SQL准备

初始化表

-- 用户表
create table t_users(
                        id int primary key auto_increment,
-- 用户名
                        username varchar(20),
-- 密码
                        password varchar(20),
-- 真实姓名
                        real_name varchar(50),
-- 性别 1表示男  0表示女
                        sex int,
-- 出生年月日
                        birth date,
-- 手机号
                        mobile varchar(11),
-- 上传后的头像路径
                        head_pic varchar(200)
);

初始化数据

--添加用户数据
insert into t_users values(null,'whj','123456','王恒杰',1,NOW(),'12345678901','boy.jpg');
insert into t_users values(null,'dzw','123456','邓正武',1,NOW(),'12345678901','boy.jpg');
insert into t_users values(null,'yfj','123456','杨福君',1,NOW(),'12345678901','girl.jpg');
insert into t_users values(null,'zx','123456','张西',1,NOW(),'12345678901','girl.jpg');
insert into t_users values(null,'zxj','123456','周宣君',0,NOW(),'12345678901','boy.jpg');
insert into t_users values(null,'lfk','123456','刘福昆',1,NOW(),'12345678901','boy.jpg');

表结构

相关数据

二、Mysql查看Sql语句的执行时间

1、show profiles;

最开始输入show profiles.此时没有数据

2、show variables; show varables:查看profiling是否开启,即Value为ON

直接使用show variables命令会将所有变量展示出来,太多了,我们不方便查看

就可以使用模糊查询了,用like将profiling挑选出来

一般没有开启都为off

 show variables like 'profiling';

3、set profilling=1,开启profiling

show variables like 'profiling';

这样我们的Mysql就可以查看Sql语句的执行时间

三、不同查询的执行时间

select * from t_users;
select id,username,password,real_name,sex,birth,mobile,head_pic from t_users;

select * from t_users where username like 'whj';

三种查询的时间对比

结论:

sql 在使用SELECT语句或者使用其它语句时,直接使用*和把所有的字段弄上去查询,性能有很大差距,所以我们平时写查询最好用字段写上

总结

到此这篇关于Mysql中如何查看Sql语句的执行时间的文章就介绍到这了,更多相关Mysql查看Sql语句执行时间内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PHP获取MySQL执行sql语句的查询时间方法

    如下所示: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = explode(" ",$t); list($m1,$s1) = explode("

  • mysql 显示SQL语句执行时间的代码

    MySQL 的 SQL 語法調整主要都是使用 EXPLAIN , 但是這個並沒辦法知道詳細的 Ram(Memory)/CPU 等使用量. 於 MySQL 5.0.37 以上開始支援 MySQL Query Profiler, 可以查詢到此 SQL 會執行多少時間, 並看出 CPU/Memory 使用量, 執行過程中 System lock, Table lock 花多少時間等等. MySQL Query Profile 詳細介紹可見: Using the New MySQL Query Prof

  • 图文详解Mysql中如何查看Sql语句的执行时间

    目录 一.初始SQL准备 二.Mysql查看Sql语句的执行时间 三.不同查询的执行时间 总结 Mysql中如何查看Sql语句的执行时间 一.初始SQL准备 初始化表 -- 用户表 create table t_users( id int primary key auto_increment, -- 用户名 username varchar(20), -- 密码 password varchar(20), -- 真实姓名 real_name varchar(50), -- 性别 1表示男 0表示

  • 图文详解MySQL中两表关联的连接表如何创建索引

    本文介绍了MySQL中两表关联的连接表是如何创建索引的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 问题介绍 创建数据库的索引,可以选择单列索引,也可以选择创建组合索引. 遇到如下这种情况,用户表(user)与部门表(dept)通过部门用户关联表(deptuser)连接起来,如下图所示: 表间关系 问题就是,在这个关联表中该如何建立索引呢? 针对该表,有如下四种选择: 针对于user_uuid建立单列索引idx_user 针对于user_dept建立单列索引idx_dept 建立组合

  • 图文详解MySQL中的主键与事务

    一.MySQL 主键和表字段的注释 1.主键及自增 每一张表通常会有一个且只有一个主键,来表示每条数据的唯一性. 特性:值不能重复,不能为空 null 格式:create table test (ID int primary key) 1 主键 + 自增的写法: 格式:create table test (ID int primary key auto_increment) 1 注意:自增只能配合主键来使用(如果单独定义则会报错) 2.表字段的注释 mysql> alter table test

  • 图文详解mysql中with...as用法

    最近无意中接触到了一篇文章,里面写了一个SQL的用法,是with...as,中午抽空记录一下 用MySQL试了一下,发现并不支持该语法(版本:5.7) 于是换作以下(版本:8.0)不会报错: 总结一下with的用法,类似生成一个临时的表,和如下红框里的操作并无异样 感觉是个鸡肋语法...翻遍了mysql文档也没找到该语法到底是哪个版本开始支持的 更新大佬的原理链接---> MariaDB表表达式(2):CTE - 骏马金龙 总结 到此这篇关于mysql中with...as用法的文章就介绍到这了,

  • 详解mysql中的存储引擎

    mysql存储引擎概述 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎.内存存储引擎能够在内存中存储所有的表格数据.又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力). 这些不同的技术以及配套的相关

  • 详解MySQL中的缓冲池(buffer pool)

    Mysql 中数据是要落盘的,这点大家都知道.读写磁盘速度是很慢的,尤其和内存比起来更是没的说.但是,我们平时在执行 SQL 时,无论写操作还是读操作都能很快得到结果,并没有预想中的那么慢. 可能你会说我有索引啊,有索引当然快了.但是铁子,索引文件也是存储在磁盘上的,查找过程会产生磁盘 I/O.如果同时对某行数据进行多次操作,那岂不是要重复产生很多次磁盘 IO 吗? 可能你想到了,那我把数据存在内存里不就可以了吗?内存速度比磁盘快,这准没毛病.没错,那该怎么存呢? 这就是我们今天所要讲的主题--

  • 详解MySQL中的存储过程和函数

    目录 区别 优点 创建储存函数和过程 储存过程 储存函数 查看储存过程 操作 变量 赋值 变量例子 定义条件和处理过程 条件 处理程序 游标 流程控制语句 储存过程和函数就是数据器将一些处理封装起来,调用 区别 调用储存过程只需要使用CALL,然后指定储存名称和参数,参数可以是IN.OUT和INOUT 调用储存函数只需要使用SELECT,指定名称和参数,储存函数必须有返回值,参数只能是IN 优点 良好的封装性 应用程序和SQL逻辑分离 让SQL也具有处理能力 减少网络交互 能够提高系统性能 降低

  • 详解MySQL中Order By排序和filesort排序的原理及实现

    目录 1.Order By原理 2.filesort排序算法 3.优化排序 1.Order By原理 MySQL的Order By操作用于排序,并且会有多种不同的排序算法,他们的性能都是不一样的. 假设有一个表,建表的sql如下: CREATE TABLE `obtest` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `a` VARCHAR ( 100 ) NOT NULL, `b` VARCHAR ( 100 ) NOT NULL, `c` VARCHAR (

  • 详解MySQL中存储函数创建与触发器设置

    目录 1.创建存储函数 2.调用存储函数 3.创建触发器 4.在触发器中调用存储过程 5.删除触发器 存储函数也是过程式对象之一,与存储过程相似.他们都是由SQL和过程式语句组成的代码片段,并且可以从应用程序和SQL中调用.然而,他们也有一些区别: 1.存储函数没有输出参数,因为存储函数本身就是输出参数. 2.不能用CALL语句来调用存储函数. 3.存储函数必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中 1.创建存储函数 使用CREATE FUNCTION语句创建存储

  • 详解mysql中的冗余和重复索引

    mysql允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能. 重复索引是指的在相同的列上按照相同的顺序创建的相同类型的索引,应该避免这样创建重复索引,发现以后也应该立即删除.但,在相同的列上创建不同类型的索引来满足不同的查询需求是可以的. CREATE TABLE test( ID INT NOT NULL PRIMARY KEY, A INT NOT NULL, B INT NOT NULL, UNI

随机推荐