簡體   English   中英

如何計算MySQL中存儲過程的執行時間?

[英]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, MONTHYEAR_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM