Sql 存储过程的执行时间
在informix 11.5上测试存储过程执行时间的古老方法是什么。我正在考虑从unix提示符执行类似的操作:Sql 存储过程的执行时间,sql,database,stored-procedures,informix,execution-time,Sql,Database,Stored Procedures,Informix,Execution Time,在informix 11.5上测试存储过程执行时间的古老方法是什么。我正在考虑从unix提示符执行类似的操作: $ time (echo 'execute procedure foo(1)' | dbaccess ...) 还有其他想法吗?当然,你可以做一些更详细的事情,但如果这就是你所需要的,为什么还要麻烦呢?显然,如果有更多步骤,请将sql移动到单独的文件中并运行 time dbaccess <dbname> file.sql time dbaccess file.sql
$ time (echo 'execute procedure foo(1)' | dbaccess ...)
还有其他想法吗?当然,你可以做一些更详细的事情,但如果这就是你所需要的,为什么还要麻烦呢?显然,如果有更多步骤,请将sql移动到单独的文件中并运行
time dbaccess <dbname> file.sql
time dbaccess file.sql
顺便说一句,您的代码片段中缺少一个引号 我使用SQLCMD程序来完成这类工作。它有一个基准模式(-B选项),还使编写SQL更容易:
sqlcmd -d stores -B -e 'execute procedure foo(1)'
它是开源的,可以从中获得。要使建议的语法起作用,您需要使用:
time sh-c“echo”execute procedure foo(1)| dbaccess“
。如图所示,您将从shell中得到一个语法错误。正如RET所指出的,您可以简单地对dbaccess进行计时:echo'executeprocedure foo(1)| time dbaccess…
。但是我仍然使用(我的)SQLCMD程序。还要注意,您的计时将包括启动DB访问和建立数据库连接的时间;SQLCMD允许您分离这些问题。