Patent ID: 8027969

Claim:
A computer-implemented method for efficient calculation of sets of distinct results in an information retrieval service, the method comprising: receiving a query from a client application, the query having at least two requested attributes and one or more conditions; for each row identifier in each of a plurality of database tables that matches the one or more conditions, calculating a tuple of value identifiers having an entry for each requested attribute; separately, substantially, and concurrently assigning for each of the plurality of database tables a unique number to the tuple for each distinct combination of the value identifiers corresponding to the requested attributes; determining, from a list of the row identifiers mapped with the unique numbers, duplicate list entries based on the attributes requested in the query by: mapping, for matching row identifiers from two or more database tables, the corresponding unique numbers from each distinct combination of the value identifiers, and identifying, using a hashing algorithm, duplicate tuples with a same set of unique numbers; deleting, prior to projection, duplicate list entries from the list of the row identifiers mapped with the unique numbers to isolate for each unique number a single remaining tuple; and inserting the single remaining tuple into a result set.