Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
分析请求日志以确定语句的执行时间。
sa_get_request_times( [ filename [, conn_id [, first_file [, num_files ] ] ] ] )
filename 使用此可选的 LONG VARCHAR 参数指定请求记录文件名。缺省值为 NULL。
conn_id 使用此可选的 UNSIGNED INTEGER 参数指定连接 ID 号。缺省值为 0。
first_file 使用此可选的 INTEGER 参数指定要分析的第一个文件。缺省值为 -1。
num_files 使用此可选的 INTEGER 参数指定要分析的请求日志文件的数目。缺省值为 1。
此过程读取指定的请求日志,并用日志中的语句和它们的执行时间填充全局临时表 satmp_request_time。
对于像插入和更新这样的语句,执行时间简单明了。而对于查询,时间是从准备语句开始一直计算到将其删除,包括描述语句、打开游标、读取行和关闭游标等一系列操作。对于大多数查询,这个值精确反映了查询所用的时间。如果当其它事件正在进行时游标仍然是打开的(例如操作员交互或客户端处理),那么这时时间会显示为一个很大的值,但这并不是查询实际所花费的时间。
此过程识别请求日志中的主机变量,并使用其值填充全局临时表 satmp_request_hostvar。对于此临时表不存在的旧数据库,主机变量值将被忽略。
如果不指定日志文件,则缺省使用当前日志文件,即在带有 -zo 选项的命令中指定的日志文件,或是通过以下语句指定的日志文件:
call sa_server_option( 'RequestLogFile', filename )
如果指定了连接 ID,则会使用它从日志中过滤信息,以便仅检索该连接的请求。
您必须具有 MANAGE PROFILING 或 MONITOR 系统特权。
自动提交
以下命令获得文件 req.out 中请求的执行次数。
CALL sa_get_request_times('req.out');
以下命令获得文件 req.out.3、req.out.4 和 req.out.5 中请求的执行次数。
CALL sa_get_request_times('req.out',0,3,3);