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.pswp.cn/news/260371.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260371.shtml
英文地址,請注明出處:http://en.pswp.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…