Processing queries with expensive predicates by filtering

There has been increasing interest in the application of abstract data types (ADT) in database technology to other fields. However, processing queries including ADT is always computationally expensive. We formalize a query processing scheme for selection operation which involves a computationally expensive predicate. Our approach is based on "filtering". In the method, an expensive predicate is decomposed into simpler ones and successively evaluated. Each of these simpler predicates is either a necessary or a sufficient condition of the initial predicate, and is used to reject or accept an object as the answer to the query without evaluating the initial predicate. Iterative reduction of an operand set of objects can significantly lessen the total cost of estimation of the initial predicate. A cost model is provided and an algorithm is proposed to determine an optimal query evaluation plan. Experiments on spatial queries illustrate the effect.