mysql皮秒转成年月日时分秒_MySQL performance_schema 中 TIMER_*类字段 的易读转换

performance_schema中有很多的表(语句信息表,事务信息表等)记录执行的SQL的具体信息,执行事务的具体信息,其中都会有一个叫做TIMER_START的字段,这个字段的值易读性很差,官方文档说是皮秒,但也没说怎么转成人类易读的形式,通过以下的方法可以将其转换为人易读的格式。

举例

以performance_schema.events_statements_history_long表为例,摆上对应的SQL语句,可以考虑将其写成函数。

SELECT

*,

DATE_SUB(NOW(), INTERVAL (SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME='UPTIME') - TIMER_START*10e-13 second) AS 'start_time',

ROUND(timer_wait*10E-10, 3) AS 'wait in (ms)'

FROM

performance_schema.events_statements_history_long

where thread_id=194277

limit 1\G;

*************************** 1. row ***************************

THREAD_ID: 194277

EVENT_ID: 323

END_EVENT_ID: 354

EVENT_NAME: statement/sql/select

SOURCE:

TIMER_START: 1122588644870331000

TIMER_END: 1122588645297519000

TIMER_WAIT: 427188000

LOCK_TIME: 327000000

SQL_TEXT: select count(*) from mysql.user

DIGEST: a41461c07eca51bcda21d91cf128cfa6

DIGEST_TEXT: SELECT COUNT ( * ) FROM `mysql` . `user`

CURRENT_SCHEMA: NULL

OBJECT_TYPE: NULL

OBJECT_SCHEMA: NULL

OBJECT_NAME: NULL

OBJECT_INSTANCE_BEGIN: NULL

MYSQL_ERRNO: 0

RETURNED_SQLSTATE: NULL

MESSAGE_TEXT: NULL

ERRORS: 0

WARNINGS: 0

ROWS_AFFECTED: 0

ROWS_SENT: 1

ROWS_EXAMINED: 0

CREATED_TMP_DISK_TABLES: 0

CREATED_TMP_TABLES: 0

SELECT_FULL_JOIN: 0

SELECT_FULL_RANGE_JOIN: 0

SELECT_RANGE: 0

SELECT_RANGE_CHECK: 0

SELECT_SCAN: 0

SORT_MERGE_PASSES: 0

SORT_RANGE: 0

SORT_ROWS: 0

SORT_SCAN: 0

NO_INDEX_USED: 0

NO_GOOD_INDEX_USED: 0

NESTING_EVENT_ID: NULL

NESTING_EVENT_TYPE: NULL

NESTING_EVENT_LEVEL: 0

start_time: 2020-10-22 10:07:39.644871

wait in (ms): 0.427

1 row in set (0.10 sec)

关键字段

DATE_SUB(

NOW(),

INTERVAL (SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME='UPTIME') - TIMER_START*10e-13 second

) AS 'start_time'

DATE_SUB(指定日期A, 需要减去的时间间隔B):如现在是2020-10-22 10:15:00.000(参数A),我指定需要减去的天数为2即INTERVAL 2 DAY(参数B),就能返回得到2020-10-20 10:15:00.000

结论

timer_*即从数据库正常启动以来经过的时间,但这个时间不一定准确,官方文档内说这个会基于处理器的啥啥啥进行计算,可能会有波动。

笔者有一台数据库的timer_*字段信息用以上方法计算之后,相差特别大(大的离谱那种,时间多了1年),不知道原因,这台经历过升级,有知道的大佬,欢迎留言。

创建时间转换函数,方便调用

begin;

set global log_bin_trust_function_creators=on;

DELIMITER $$

DROP FUNCTION IF EXISTS timer_to_date$$

CREATE FUNCTION timer_to_date(timer bigint(20) unsigned) RETURNS varchar(50)

BEGIN

DECLARE res_date varchar(50);

DECLARE uptime int;

SET uptime=(SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME='UPTIME');

SET res_date=DATE_SUB(NOW(),INTERVAL @uptime - timer*10e-13 second);

return res_date;

END $$

delimiter ;

set global log_bin_trust_function_creators=off;

commit;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++函数相关

1,内连函数 inline 返回值类型 函数名(形参列表) 普通函数成为内连函数:在普通函数声明之前加上inline 成员函数成为内连函数:在类中定义的函数全部默认为内连函数,可以显示加上inline或者不加;…

goto语句_11. Go语言流程控制:goto 无条件跳转

本文原文:http://golang.iswbm.comGithub:https://github.com/iswbm/GolangCodingTimeGo里的流程控制方法还是挺丰富,整理了下有如下这么多种:if - else 条件语句switch - case 选择语句for - range 循环语goto 无条件跳转语句def…

[BT5]信息收集1-2 Dnsmap

0.工具介绍 dnsmap is mainly meant to be used by pentesters during the information gathering/enumeration phase of infrastructure security assessments. During the enumeration stage, the security consultant would typically discover the target companys IP netb…

httpf发送 json_Java用HttpClient3发送http/https协议get/post请求,发送map,json,xml,txt数据...

使用的是httpclient 3.1,使用"httpclient"4的写法相对简单点,百度:httpclient https post当不需要使用任何证书访问https网页时,只需配置信任任何证书其中信任任何证书的类MySSLProtocolSocketFactory主要代码&#xff…

分页优化的四种方式

转自:http://www.orczhou.com/index.php/2009/03/four-way-pager-display/ 很久以前读了一篇关于分页的文章,后来越想越有道理,最近又重新找出来,并做了翻译,原文参考:Four ways to optimize paginated displays. 翻译…

使用 VMControl 2.4 实现多网络的 Power 服务器捕捉和系统部署

VMControl 作为 IBM Systems Director 的一个高级管理器,提供了一系列的管理功能帮助 Power 管理员快速捕获部署虚拟机系统,进行虚拟化环境的管理。而现代的数据中心,出于安全性,网路负载等多重因素的考虑,一般会存在有…

windows python安装_window 安装 python

官网地址下载安装包点击下载 会自动识别你当前的系统,或者点击你需要安装的平台或者选择其他版本执行安装高级选项说明:Install for all users 所有用户可使用Associate files with Python 关联PY相关的文件Create shortcuts for installed applications…

iOS应用内付费(IAP)开发步骤列表

iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作。步骤繁多,在此把开发步骤列表整理如下。因为只是步骤列表,所以并不含详细的说明教程&#xff0c…

【unity3d--初始学习五--c#脚本对xml文件的创建和解析】

本人用c#编写脚本。 创建xml文件时&#xff0c;主要用到System.Xml包中的XmlDocument,XmlNode,XmlElement。下面是创建xml文档的一般步骤&#xff1a; XmlDocument docnew XmlDocument(); //<?xml version"1.0"?> XmlNode xmlnoddoc.CreateNode(XmlNodeType.…

python计算机视觉编程(全)(强烈推荐)_推荐一个计算机视觉图书:python计算机视觉编程...

编辑部的主页&#xff1a;好像没啥用每章的代码&#xff0c;github上面的&#xff1a;中文版github上面&#xff0c;英文版&#xff1a;项目主页&#xff1a;中文在线的书&#xff1a;然后下载安装安装好了以后&#xff0c;点击自动的编辑器&#xff1a;新建工程&#xff0c;插…

mysql工具的使用_产品操作MySQL入门篇-工具使用

MYSQL本资料为产品岗位作为日常工作参考&#xff0c;语言口语化At 2019/4/15 By David.Yang数据库怎么登录/管理&#xff1f;登录数据库的方式有多种&#xff0c;比如本地Client登录、通过数据库管理工具登录、通过浏览器访问数据库端WEB软件登录。通过各种方式登录后&#xff…

在windows下运行spark

1.下载spark:spark-2.0.0-bin-hadoop2.7.tgz 2.解压至D:\bigdata\spark-2.0.0-bin-hadoop2.7 3.配置环境变量 HADOOP_HOME:D:\bigdata\hadoop-2.7.2 SPARK_HOME:D:\bigdata\spark-2.0.0-bin-hadoop2.7 Path中添加&#xff1a;%HADOOP_HOME%\bin;%SPARK_HOME%\bin; 4.运行 先运行…

UIView使用UIMotionEffect效果

UIView使用UIMotionEffect效果 这个效果在模拟器上看不了,所以无法截图. UIViewMotionEffect.h UIViewMotionEffect.m // // UIViewMotionEffect.h // // Copyright (c) 2014年 Nick Jensen. All rights reserved. //#import <UIKit/UIKit.h>interface UIView (Moti…

JavaSE_04异常处理

1. exception [ksep()n; ek-] n. 例外&#xff1b;异议 2. throw [θr] vt. 投&#xff1b;抛&#xff1b;掷 vi. 抛&#xff1b;投掷 n. 投掷&#xff1b;冒险 3. throws [θrz] n. 曲拐&#xff08;throw的复数形式&#xff09; v. 投&#xff1b;抛&#xff08;throw的三单形…

关于html和javascript在浏览器中的加载顺序问题的讨论

转自&#xff1a;http://www.cnblogs.com/beyondstorm/archive/2008/09/17/1292940.html 前一阵子横扫了javascript&#xff0c;当时自我感觉良好。现在一想&#xff0c;又觉得没什么。今天的任务是把asp.net ajax中客户端页面生命周期那一章研究完。然而&#xff0c;因为这一章…

java 观察者模式_Java技术干货分享:深入理解观察者模式原理与技术

来源&#xff1a;编程技术精选观察者模式(Observer Pattern)也叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式。这个模式的一个最重要的作用就是解耦。也就是将被观察者和观察者进行解耦&#xff0c;使得他们之间的依赖性更小&#xff0c;甚至做到毫无依赖。…

python导入pyecharts错误没有pyecharts_python报No module named 'pyecharts'的错误怎么办?

问&#xff1a;导包的时候报No module named pyecharts的错误怎么办&#xff1f;答&#xff1a;报上述错误一般是因为pyecharts这个包没有下载成功&#xff0c;下面给大家介绍一下pyecharts库的安装与使用方法&#xff01;pyecharts是Python的数据可视化库&#xff0c;可以帮助…

iOS开发:AFNetworking、MKNetworkKit和ASIHTTPRequest比较

转&#xff1a;http://www.xue5.com/Mobile/iOS/747036.html 之前一直在使用ASIHTTPRequest作为网络库&#xff0c;但是由于其停止更新&#xff0c;iOS7上可能出现更多的问题&#xff0c;于是决定更换网络库。 目前比较流行的网络库主要有AFNetworking和MKNetworkKit&#xff…

java .listfiles_Java File.listFiles()

全屏Java Java File.listFiles()方法具有以下语法。public File [] listFiles()示例在下面的代码显示如何使用File.listFiles()方法。import java.io.File;// At: W w W. y I i ba I.C o mpublic class Main {public static void main(String[] args) {// create new fileFile …

基础入门_Python-内建函数.运维开发中eval内建函数的最佳实践?

简单介绍:说明: 在指定命名空间中计算参数字符串的有效表达式,并返回一个对象,Help on built-in function eval in module __builtin__:eval(...)eval(source[, globals[, locals]]) -> valueEvaluate the source in the context of globals and locals.The source may be a…