自动重新优化

在某些情境下,下次执行 SPL 时,数据库服务器将重新优化 SQL 语句。

如果禁用了 AUTO_REPREPARE 配置参数或 IFX_AUTO_REPREPARE 会话环境变量,那么在由 SPL 例程间接引用或预编译对象引用的表模式被修复之后执行该预编译对象或 SPL 例程时,将导致以下错误:

-710  Table <table-name> has been dropped, altered, or renamed.

数据库服务器使用依赖性列表来跟踪那些在下次 SPL 例程执行时将导致的重新优化的变化。

在以下情形之一发生后,下次执行 SPL 例程时,数据库服务器将重新优化 SQL 语句:

无论什么时候对 SPL 例程重新优化,数据库服务器都将使用重新优化的执行计划更新 sysprocplan 系统目录表。