存储过程记录执行时间
时间: 2023-11-09 12:09:35 浏览: 50
使用 PostgreSQL 的 pg_stat_statements() 可以记录存储过程的执行时间,这对于测量和跟踪非常方便。而在 Oracle 数据库中,可以使用 DBMS_PROFILER 包来收集存储过程的执行信息。具体方法如下:
1. 启动 profiler:sys.DBMS_PROFILER.使用 PostgreSQL 的 pg_stat_statements() 可以记录存储过程的执行时间,这对于测量和跟踪非常方便。而在 Oracle 数据库中,可以使用 DBMS_PROFILER 包来收集存储过程的执行信息。具体方法如下:
1. 启动 profiler:sys.DBMS_PROFILER.start_profiler(run_number => v_run_number);
2. 显示当前跟踪的运行序号(后面查询要用):DBMS_OUTPUT.put_line('run_number:' || v_run_number);
3. 运行要跟踪的 PL/SQL 存储过程:sp_profiler_test1;
4. 停止 profiler:sys.DBMS_PROFILER.stop_profiler;
相关问题
mysql 记录存储过程执行时间
MySQL提供了多种方式来记录存储过程的执行时间,其中一种方式是使用Query Profiler。下面是具体的步骤:
1. 打开Query Profiler:在MySQL客户端中输入SET profiling=1;。
2. 执行存储过程:在MySQL客户端中执行存储过程。
3. 查看执行时间:在MySQL客户端中输入SHOW PROFILES;,可以看到所有SQL语句的执行时间。
需要注意的是,如果存储过程中有多个SQL语句,那么SHOW PROFILES会显示每个SQL语句的执行时间,需要根据需要进行分析。
查询sqlserver存储过程的历史执行时间
你可以通过以下两种方式查询sqlserver存储过程的历史执行时间:
1. 使用系统视图sys.dm_exec_procedure_stats,该视图可以提供有关存储过程的性能统计信息,包括上次执行时间、执行次数、总执行时间等。例如,可以使用以下查询语句获取名为"myproc"的存储过程的执行时间统计信息:
```
SELECT last_execution_time, execution_count, total_elapsed_time
FROM sys.dm_exec_procedure_stats
WHERE OBJECT_NAME(object_id) = 'myproc'
```
2. 如果启用了SQL Server Profiler,则可以使用它来捕获存储过程的执行历史记录。在Profiler中,选择"Standard"模板,然后勾选"Stored Procedures"事件,即可捕获存储过程的执行历史记录。你可以通过过滤器来限制结果集,例如,只显示特定存储过程的执行历史记录。