1. A method for responding to database queries directed to a database table, wherein database queries comprise a plurality of predicates, the method comprising: storing predicates of received database queries in a predicate registry, wherein each predicate is stored in association with a different index value; receiving a database query; storing the database query in association with a vector of bits, wherein each bit position in the vector corresponds to a different index value in the predicate registry and a bit value for each bit position indicates whether the predicate associated with the corresponding index value is included in the database query; for each row of the database table, storing a second vector of bits, wherein each bit position in the second vector corresponds to a different index value in the predicate registry and a bit value for each bit position indicates whether the predicate associated with the corresponding index value is satisfied by a value in the row; determining whether a row satisfies the database query by comparing, using a logical operation, the vector of bits associated with the database query with the second vector of bits associated with the row; and responding to the database query with a query result comprising information relating to rows of the database table that satisfy the database query.