如果我有这个创建并调用过程的脚本:
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个查询中每个查询的单独执行时间。
但是如何显示所有所有组合的查询的总执行时间(e.i.newproc()过程的执行时间)?
答案 0 :(得分:0)
使用时间间隔YEAR, QUARTER, MONTH
和YEAR_MONTH
的活动时间将在几个月内解决;使用任何其他间隔的那些在几秒钟内解决。没有办法使计划在同一秒发生的事件以给定顺序执行。此外 - 由于舍入,线程应用程序的性质以及创建事件和发出执行事件所需的非零时间长度这一事实可能会延迟1或2秒。但是,INFORMATION_SCHEMA.EVENTS
表的LAST_EXECUTED
列或mysql.event
表的last_executed
列中显示的时间始终精确到实际事件执行时间的一秒之内。