1. A method for optimizing processing of a request, the request having one or more predicates, the method including: using a computer, creating a list of the one or more predicates in the request; using a computer, pruning from the list of the one or more predicates for which an actual cost has not been stored or for which a cost cannot be estimated to produce a pruned list of predicates; using a computer, selecting an access path for the each of the predicates in the pruned list of predicates; using a computer, processing the request using the selected access paths, producing one or more actual predicate costs; and using a computer, storing the one or more actual predicate costs.