在asp.net应用程序中优化informix存储过程的性能?

时间:2013-04-01 09:10:06

标签: stored-procedures informix

我想知道如何使用等效于:

SET ARITHABORT ON

AND

WITH RECOMPILE option

在informix存储过程中?

1 个答案:

答案 0 :(得分:2)

  

设置ARITHABORT ON    Sql Server手册说:溢出时溢出或终止查询   在查询执行期间发生了被零除错误。

在Informix中,默认情况下,在执行任何UDR / SP(过程或函数)期间发生的任何错误都将触发异常,这将在用户会话级别自动引发。这将包括任何算术错误。

你在SPL中可以做的是反过来,包括一个不允许这个异常达到用户会话范围的处理。 关于ON EXCEPTION

的阅读
  

WITH RECOMPILE option
   Sql Server手册说:创建指定的存储过程   其定义中的WITH RECOMPILE选项表示SQL Server   不缓存此存储过程的计划;存储过程   每次执行时都会重新编译。使用WITH RECOMPILE选项   当存储过程采用值差异很大的参数时   在执行存储过程之间,导致不同   每次都要创建执行计划。使用此选项是   不常见并导致存储过程执行得更慢,   因为每次存储过程都必须重新编译   执行。

在Informix中运行类似的解决方案:update statistics for procedure <your_proc>; 查看Informix Manual here

上的说明