1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a database table residing in the memory; a query residing in the memory that references the database table; and a query optimizer residing in the memory and executed by the at least one processor, wherein the query optimizer analyzes the query, drops at least one tautological predicate from the query, and determines whether a corresponding access plan exists for the query with the at least one dropped tautological predicate, and if so, the query optimizer uses the corresponding access plan to execute the query, and if no corresponding access plan exists for the query with the at least one dropped tautological predicate, the query optimizer generates a corresponding access plan and uses the corresponding access plan to execute the query.
1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a database table residing in the memory; a query residing in the memory that references the database table; and a query optimizer residing in the memory and executed by the at least one processor, wherein the query optimizer analyzes the query, drops at least one tautological predicate from the query, and determines whether a corresponding access plan exists for the query with the at least one dropped tautological predicate, and if so, the query optimizer uses the corresponding access plan to execute the query, and if no corresponding access plan exists for the query with the at least one dropped tautological predicate, the query optimizer generates a corresponding access plan and uses the corresponding access plan to execute the query. 2. The apparatus of claim 1 wherein the query optimizer stores the generated access plan in a cache.