×

Efficiency in processing queries directed to static data sets

  • US 7,925,617 B2
  • Filed: 04/06/2010
  • Issued: 04/12/2011
  • Est. Priority Date: 04/08/2005
  • Status: Active Grant
First Claim
Patent Images

1. A computer readable storage medium carrying one or more sequences of instructions causing a server to process queries directed to a static data set already stored in the form of a plurality of tables in a data warehouse, wherein each table contains a corresponding set of columns and a corresponding set of rows, wherein each data item is stored in one row of the table with each row of the table being uniquely identified by a corresponding row identifier not formed based on said plurality of data items, wherein execution of said one or more sequences of instructions by one or more processors contained in said server causes said server to perform the actions of:

  • receiving a plurality of queries directed to said static data set stored in said data warehouse, wherein each of said plurality of queries contains a set of conditions, wherein processing of said plurality of queries requires retrieval of at least some portions of said static data set matching said set of conditions from said data warehouse;

    identifying a plurality of conditions commonly occurring in said received plurality of queries, wherein each of said plurality of conditions occurs more number of times in said plurality of queries than conditions not included in said plurality of conditions;

    determining which of said plurality of conditions match which of said data items in said static data set by retrieving and inspecting said static data set stored in the form of said plurality of tables in said data warehouse,wherein a match for a condition is determined to be present when a data item retrieved from said data warehouse has a first value for the same column as the condition, and applying said comparison operation on said first value and said comparison value produces a true result;

    maintaining a match data external to said static data set, said match data indicating which of said plurality of conditions match which data items in said static data set according to said determining, wherein said match data contains the row identifiers uniquely identifying the matching data items;

    receiving a query containing a first condition included in said plurality of conditions;

    examining said match data maintained external to said static data set to determine a first set of row identifiers maintained associated with said first condition in said match data, wherein said static data set is not examined to determine said first set of row identifiers;

    retrieving from said data warehouse only a first set of data items uniquely identified by said first set of row identifiers based on said examining, wherein only said first set of data items matching said first condition received in said query are retrieved without having to inspect again said static data set stored in said data warehouse based on said match data maintained external to said static data set, wherein said examining is performed in response to receiving said query; and

    generating a response to said query, said response containing said first set of data items retrieved from said data warehouse after receiving said query,wherein said identifying, said determining and said maintaining are performed before said query is received such that said response can be generated quickly after receiving said query.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×