摘要:
An SQL program executor and an SOL compiler both include options for avoiding recompilations of execution plans whenever the runtime object and the compile time object referenced by an execution plan meet predefined schema similarity criteria. Thus, recompilation is sometimes avoided even though the compile time object has been altered or the run time object is not the same object as the compile time object. To enable late binding, schema information is stored in each execution plan for each object to be accessed by the execution plan. The stored schema information is a subset of the full object schema, and includes information about all the aspects of the objects to be accessed which must remain unchanged in order for the execution plan to be operable. While executing a compiled program, the SQL executor avoids recompilations of execution plans whenever the runtime object and the compile time object referenced by an execution plan meet predefined schema similarity criteria. When a recompilation of an SQL program is required, only the execution plans which do not meet the schema similarity criteria are recompiled if the compiled program has been assigned appropriate runtime parameters. The late binding features of the SQL executor also enable a compiled program to access objects distinct from the objects referenced by the program at compile time. Similarly, the SQL compiler includes the ability to recompile only those execution plans which do not meet the schema similarity criteria and thus are inoperable.