5. The method of claim 4 , wherein the predicate result generated for said each predicate is used to determine which row values to provide to the filtering unit for evaluation of a next predicate; wherein the set of predicates are evaluated in a serial order; wherein the serial order is based on a likelihood that a predicate will filter out a large number of rows; wherein predicates that are more likely to filter out a large number of rows are evaluated before predicates that are less likely to filter out a large number of rows.
4. The method of claim 1 wherein the predicate is a first predicate of a set of predicates associated with the query, the method further comprising: for each predicate of the set of predicates: programming a particular circuit into the reconfigurable hardware of the filtering unit based on said each predicate, of the set of predicates, that specifies particular criteria for filtering results of the query; generating a predicate result by loading values from at least one portion of a column into the filtering unit and causing the filtering unit to apply said each predicate to the values; wherein selecting rows to return as results comprises: combining each predicate result to generate a final result that identifies rows that satisfy all criteria specified by the set of predicates; selecting the rows that are identified by the final result as satisfying the criteria specified by the set of predicates.