Patent ID: 8412700

Claim:
A method for processing a database query, wherein the database query identifies a first key value for a field in a database table and a second key value for another field in the database table, the method comprising: using a first index associated with the field in the database table to identify a range of records in the database table that includes instances of the first key value in the field; creating a predicate from the identified range of records; using the identified range of records to subset a second index associated with the other field in the database table by subsetting the second index with the predicate, wherein the first and second indexes are built over different fields of the same database table, wherein each of the first and second indexes covers all of the records of the database table, wherein the field and the other field are identified in the database query, and wherein subsetting the second index further comprises using the second index associated with the other field in the database table to identify a second range of records in the database table that includes instances of the second key value in the other field; and generating a composite range of records based upon the first and second ranges of records, wherein generating the composite range of records comprises combining the first range of records from the first index and the second range of records from the second index based upon at least one operation in the database query.