3. A computer implemented method for optimizing a query expression on a database engine of a database server, comprising: sending, by the computer, the query expression to the database engine, wherein the query expression contains a plurality of predicates; initiating, by the computer, query processing of the query expression; incrementing, by the computer, an evaluation counter, wherein the counter increments an evaluation counter value corresponding to a predicate when a predicate evaluation results in a Boolean result; setting, by the computer, a flag within the database engine when the evaluation counter value reaches a threshold value; incrementing, by the computer, a seen counter, wherein the seen counter increments a seen counter value corresponding to each of the plurality of predicates when a predicate is evaluated; assigning, by the computer, a cost value to each predicate of the plurality of predicates determined by a duration of time that a query processor uses to evaluate each predicate; and reordering, by the computer, predicates in the query expression in order of a most efficient predicate with a greatest probability of an early exit of the query expression evaluated first and a least efficient predicate with a lowest probability of an early exit of the query expression evaluated last in the query expression, wherein predicate efficiency is defined as the evaluation counter value divided by a product of the seen counter value and the cost value.
3. A computer implemented method for optimizing a query expression on a database engine of a database server, comprising: sending, by the computer, the query expression to the database engine, wherein the query expression contains a plurality of predicates; initiating, by the computer, query processing of the query expression; incrementing, by the computer, an evaluation counter, wherein the counter increments an evaluation counter value corresponding to a predicate when a predicate evaluation results in a Boolean result; setting, by the computer, a flag within the database engine when the evaluation counter value reaches a threshold value; incrementing, by the computer, a seen counter, wherein the seen counter increments a seen counter value corresponding to each of the plurality of predicates when a predicate is evaluated; assigning, by the computer, a cost value to each predicate of the plurality of predicates determined by a duration of time that a query processor uses to evaluate each predicate; and reordering, by the computer, predicates in the query expression in order of a most efficient predicate with a greatest probability of an early exit of the query expression evaluated first and a least efficient predicate with a lowest probability of an early exit of the query expression evaluated last in the query expression, wherein predicate efficiency is defined as the evaluation counter value divided by a product of the seen counter value and the cost value. 8. The method of claim 3 , wherein reordering the predicates in the query expression uses a database machine code evaluated by a query processor.