×

Processing cross-table non-Boolean term conditions in database queries

  • US 7,499,917 B2
  • Filed: 01/28/2005
  • Issued: 03/03/2009
  • Est. Priority Date: 01/28/2005
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for searching for data in a database, the method comprising:

  • receiving a query that is a request for data in the database, wherein the query identifies multiple tables in the database, the query including at least one uneven non-Boolean term condition including an OR condition having two predicates, wherein the OR condition spans and is satisfied by at least two tables of the multiple tables;

    splitting the at least one non-Boolean term condition into a plurality of separate query portions, wherein each predicate of the OR condition is provided to a different one of the separate query portions, each of the separate query portions providing a Boolean term that is satisfied by accessing a different particular one of the at least two tables;

    executing the separate query portions independently of each other to find at least one data result in each of the at least two tables that satisfies the Boolean term of each separate query portion, wherein a duplication of accesses to the different particular tables is minimized in the execution of the separate query portions, and wherein every corresponding row of the different particular tables does not need to be joined in order to check whether the corresponding rows satisfy the non-Boolean term condition;

    identifying at least one bridge table, the at least one bridge table being at least one of the multiple tables which does not satisfy the at least one uneven non-Boolean term condition and has at least one column from each of the different particular tables; and

    combining the data result from each separate query portion into a final result that satisfies the query, wherein the at least one identified bridge table is used to join each of the different tables to combine the data results.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×