繁体   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