位置: 编程技术 - 正文
推荐整理分享MySQL中使用SHOW PROFILE命令分析性能的用法整理(MySQL中使用什么语句来更新表中的记录),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:MySQL中使用什么关键字来删除表格中的数据,mysql中使用的字符串类型主要有哪几类?,MySQL中使用____关键字来删除表格中的数据,mysql中使用的字符串类型主要有哪几类?,MySQL中使用什么语句来更新表中的记录,MySQL中使用什么语句来更新表中的记录,MySQL中使用什么语句来更新表中的记录,MySQL中使用命令行查看二进制文件的命令是,内容如对您有帮助,希望把文章链接给更多的朋友!
show profile是由Jeremy Cole捐献给MySQL社区版本的。默认的是关闭的,但是会话级别可以开启这个功能。开启它可以让MySQL收集在执行语句的时候所使用的资源。为了统计报表,把profiling设为1
之后在运行一个查询
这个执行语句的剖析信息存储在这个会话中。使用SHOW PROFILES进行查看。
你可以使用SHOW PROFILE语句来获取已经存储的剖析数据。如果不加参数,会显示状态以及它们持续的时间。
每行都是状态变化的过程以及它们持续的时间。Status那一列和SHOW FULL PROCESSLIST的State应该是一致的。这个值是来自于thd->proc_info变量。因此你所查看的这个值是直接来自MySQL内部的。尽管这些数值是比较直接易懂的,你也可以查看MySQL手册。 你可以给SHOW PROFILES指定一个Query_ID来查看指定的语句,还可以给输出添加新的列。如,查看用户和CPU使用。可以用如下命令。
SHOW PROFILE可以深入的查看服务器执行语句的工作情况。以及也能帮助你理解执行语句消耗时间的情况。一些限制是它没有实现的功能,不能查看和剖析其他连接的语句,以及剖析时所引起的消耗。
SHOW PROFILES显示最近发给服务器的多条语句,条数根据会话变量profiling_history_size定义,默认是,最大值为。设为0等价于关闭分析功能。
SHOW PROFILE FOR QUERY n,这里的n就是对应SHOW PROFILES输出中的Query_ID。
例如:
如果没有指定FOR QUERY,那么输出最近一条语句的信息。
LIMIT部分的用法与SELECT中LIMIT子句一致,不赘述。
type是可选的,取值范围可以如下:
ALL 显示所有性能信息 BLOCK IO 显示块IO操作的次数 CONTEXT SWITCHES 显示上下文切换次数,不管是主动还是被动 CPU 显示用户CPU时间、系统CPU时间 IPC 显示发送和接收的消息数量 MEMORY [暂未实现] PAGE FAULTS 显示页错误数量 SOURCE 显示源码中的函数名称与位置 SWAPS 显示SWAP的次数例:
ps:SHOW PROFILE ALL FOR QUERY 2;的信息还可以通过SELECT * FROM information_schema.profiling WHERE query_id = 2 ORDER BY seq;获取。
作用范围这个命令只是在本会话内起作用,即无法分析本会话外的语句。
开启分析功能后,所有本会话中的语句都被分析(甚至包括执行错误的语句),除了SHOW PROFILE和SHOW PROFILES两句本身。
应用示例:使用SHOW PROFILE分析查询缓存命中的性能优势。
由于已经启用了查询缓存,相同查询(非分区表)可以直接在查询缓存中命中。
我们仔细看下两个同样的语句的分析。
可以清晰地看到缓存中命中时,大大节省了后台的开销。当然缓存的使用也需要根据各种场景(表的数据规模,更新频率等)考察使用,并不是启用缓存就一定能够提高查询效率。这里仅仅作为SHOW PROFILE的一个应用示例。
MySQL的常用命令集锦 下面是我们经常会用到且非常有用的MySQL命令。下面你看到#表示在Unix命令行下执行命令,看到mysql表示当前已经登录MySQL服务器,是在mysql客户端执行mysq
关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案) 最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。
mysql忘记密码怎么办(windows linux) 先给大家介绍windows下mysql忘记密码的解决方案。Windows下的实际操作如下1.关闭正在运行的MySQL。2.打开DOS窗口,转到mysqlbin目录。3.输入mysqld--skip-grant-tabl
上一篇:MySQL创建和删除数据表的命令及语法详解(mysqli删除)
友情链接: 武汉网站建设