[英]How to calculate execution time of a stored procedure in MySQL?
如果我具有創建和調用過程的腳本:
SET profiling = 1;
/*Create procedure */
DELIMITER ++
DROP PROCEDURE IF EXISTS newproc++
CREATE PROCEDURE newproc()
BEGIN
DECLARE x INT;
SET x = 1;
WHILE x < 500 DO
SELECT * FROM tableName
WHERE survived = 1
ORDER BY class ;
SET x = x + 1;
END WHILE;
END
++
DELIMITER ;
/*Call procedure */
CALL newproc();
SHOW PROFILES;
SHOW PROFILES顯示500個查詢中每個查詢的單獨執行時間。
但是,如何顯示所有組合查詢的總執行時間 (即newproc()過程的執行時間)?
使用時間間隔YEAR, QUARTER, MONTH
和YEAR_MONTH
事件時間以YEAR, QUARTER, MONTH
YEAR_MONTH
進行解析; 那些使用其他間隔的時間以秒為單位進行解析。 無法使計划在同一秒發生的事件以給定順序執行。 此外,由於四舍五入,線程應用程序的性質以及創建事件和表示其執行需要非零時間長度的事實,事件可能會延遲多達1或2秒。 但是, INFORMATION_SCHEMA.EVENTS
表的LAST_EXECUTED
列或mysql.event
表的last_executed
列中顯示的時間始終精確到實際事件執行時間的一秒以內。
請參閱此頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.