The query optimizer is crucial to the stability and predictability of database performance, especially for transactional database systems with frequent change operations and lagging or inaccurate statistical information. In addition, some inherent restrictions may also prevent the optimizer from using the optimal execution plan. Execution plan management features such as statement outline and auto plan cache can be used to generate stable execution plans for SQL statements and prevent performance deterioration.