← Back to Patent Explorer
US5960428A Expired / Lapsed US ⏱️ 0.0 years remaining

Star/join query optimization

Assignee: International Business Machines Corp
•
Filing: 1997-08-28
•
Granted: 1999-09-28
•
Expires: 2017-08-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Unwieldy star/join queries are performed more efficiently using a filtered fact table. Suitable queries include star/join queries with a large fact table joined with multiple subsidiary dimension tables, where indices exist over fact table join columns. The query is analyzed to prepare a query plan for the dimension table accesses. This plan is supplemented by adding nested loop join operations, where the inner table is a dimension table plan and the outer table is an index scan performed over a fact table index of the join column with the dimension table. The plan is also supplemented by filtering records resulting from the nested loop joins using a sequence of dynamic bit vectors, ultimately yielding a list of probable fact table records. The plan is further supplemented by fetching these records to construct a distilled fact which is used, instead of the large original table, to execute the query in considerably less time. If desired, the supplemented query plan and other competing approaches may studied to provide cost estimates, with the least costly approach being actually implemented.

Inventors

  • 👤 Bruce Gilbert Lindsay
  • 👤 Guy Maring Lohman
  • 👤 Mir Hamid Pirahesh
  • 👤 Eugene Jon Shekita
  • 👤 David Everett Simmen
  • 👤 Monica Sachiye Urata

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 00:47
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24542; G06F16/24544; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934

Claims Analysis

Total Claims: 81
Claim 1
Independent Claim 172 words
A method for planning a database query, comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); forming a first query plan for access of each dimension table to identify resultant rows of each dimension table; forming a second query plan for access of the fact table, comprising the steps of: for the resultant rows of each dimension table, planning a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; and planning a fetch of all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and forming a final query plan comprising planning execution of the query using the distilled fact table.
Claim 2
Independent Claim 172 words
A method for planning a database query, comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); forming a first query plan for access of each dimension table to identify resultant rows of each dimension table; forming a second query plan for access of the fact table, comprising the steps of: for the resultant rows of each dimension table, planning a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; and planning a fetch of all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and forming a final query plan comprising planning execution of the query using the distilled fact table.
Claim 3
Dependent Claim 21 words
The method of claim 1, further comprising: predicting an execution cost required to perform the first, second, and final query plans.
Claim 4
Dependent Claim 27 words
The method of claim 2, further comprising: determining whether the cost satisfies a predetermined criteria, and if so, carrying out the planned first, second, and final queries.
Claim 5
Dependent Claim 43 words
The method of claim 3, further comprising: predicting an execution cost to perform one or more alternate query plans; wherein the predetermined criteria comprises the cost of the first, second, and final query plans being less than each of the alternate query plans.
Claim 6
Dependent Claim 15 words
The method of claim 1, further comprising: executing the first, second, and final query plans.
Claim 7
Dependent Claim 39 words
The method of claim 1, the receiving step comprising: receiving a query; and analyzing the query to determine whether the query comprises a star/join query joining a fact table with multiple dimension tables, and if not, aborting further operations.
Claim 8
Dependent Claim 43 words
The method of claim 6, the analyzing step comprising: analyzing the query to determine whether the fact table lacks indices for join columns with any of the dimension tables, and if so excluding said dimension tables from the first and second query plans.
Claim 9
Independent Claim 45 words
The method of claims 6, the analyzing step comprising: analyzing the query to determine whether the join between any dimension table and the fact table reduces cardinality of the fact table, and if not, excluding said dimension tables from the first and second query plans.
Claim 10
Dependent Claim 42 words
The method of claim 1, further comprising: analyzing the query to determine whether the fact table includes indices for join columns with each of the dimension tables, and if not, supplementing the second query plan to include planning generation of said indices.
Claim 11
Dependent Claim 55 words
The method of claim 1, the receiving further comprising: identifying within the star/join query a snowflake join comprising a join of a first one of the dimension tables with another table that is neither the fact table nor one of the dimension tables; and the forming of the first query plan including the snowflake join.
Claim 12
Dependent Claim 28 words
The method of claim 10, the forming of the first query plan only including the snowflake join if the snowflake join reduces cardinality of the first dimension table.
Claim 13
Dependent Claim 17 words
The method of claim 1, the first query plan being constructed to produce distinct join column values.
Claim 14
Dependent Claim 20 words
The method of claim 1, the first query plan suppressing columns of the dimension tables other than the join columns.
Claim 15
Dependent Claim 56 words
The method of claim 1, the fact table index scan of each dimension table comprising a nested loop join operation performed upon an inner table and an outer table, the outer table comprising the plan for executing query of the dimension table, the inner table comprising an index over one or more join columns of table.
Claim 16
Dependent Claim 54 words
The method of claim 1, the forming of the second query plan further comprising: estimating a cardinality of each set of resultant RIDs of each dimension table join to the fact table index; and the applying of stage comparative ridge filtering being performed in order from least to greatest number of the estimated cardinality.
Claim 17
Independent Claim 147 words
A method for performing a database query, comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); performing access of each dimension table according to the star/join query to identify resultant rows of each dimension table; and for the resultant rows of each dimension table, performing a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; fetching all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and executing the star/join query using the distilled fact table.
Claim 18
Independent Claim 147 words
A method for performing a database query, comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); performing access of each dimension table according to the star/join query to identify resultant rows of each dimension table; and for the resultant rows of each dimension table, performing a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; fetching all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and executing the star/join query using the distilled fact table.
Claim 19
Dependent Claim 39 words
The method of claim 16, the receiving step comprising: receiving a query; and analyzing the query to determine whether the query comprises a star/join query joining a fact table with multiple dimension tables, and if not, aborting further operations.
Claim 20
Dependent Claim 50 words
The method of claim 17, the analyzing step comprising: analyzing the query to determine whether the fact table lacks indices for join columns with any of the dimension tables, and if so, excluding said dimension tables from the performing access, performing the fact table index scan, applying, and fetching steps.
Claim 21
Dependent Claim 42 words
The method of claim 16, further comprising: analyzing the query to determine whether the fact table includes indices for join columns with each of the dimension tables, and if not, supplementing the second query plan to include planning generation of said indices.
Claim 22
Dependent Claim 56 words
The method of claim 16, the receiving further comprising: identifying within the star/join query a snowflake join comprising, a join of a first one of the dimension tables with another table that is neither the fact table nor one of the dimension tables; and the performing access of each dimension table including performing each snowflake join.
Claim 23
Dependent Claim 28 words
The method of claim 20, the performing access of each dimension table only including the snowflake join if the snowflake join reduces cardinality of the first dimension table.
Claim 24
Dependent Claim 21 words
The method of claim 16, the access of each dimension table being executed so as to produce distinct join column values.
Claim 25
Dependent Claim 22 words
The method of claim 16, the access of each dimension table suppressing columns of the dimension tables other than the join columns.
Claim 26
Dependent Claim 58 words
The method of claim 16, the fact table index scan of each dimension table comprising a nested loop join operation performed upon an inner table and an outer table, the outer table comprising the plan for executing query of the dimension table, the inner table comprising an index over one or more join columns of the fact table.
Claim 27
Dependent Claim 41 words
The method of claim 16, the applying of staged comparative RID filtering employing a set of one or more dynamic bit vectors for each dimension table, the filtering being performed in order from smallest to largest of the dynamic bit vectors.
Claim 28
Dependent Claim 192 words
A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for planning a database query, said method comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); forming a first query plan for access of each dimension table to identify resultant rows of each dimension table; forming a second query plan for access of the fact table, comprising the steps of: for the resultant rows of each dimension table, planning a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; and planning a fetch of all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and forming a final query plan comprising planning execution of the query using the distilled fact table.
Claim 29
Dependent Claim 192 words
A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for planning a database query, said method comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); forming a first query plan for access of each dimension table to identify resultant rows of each dimension table; forming a second query plan for access of the fact table, comprising the steps of: for the resultant rows of each dimension table, planning a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; and planning a fetch of all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and forming a final query plan comprising planning execution of the query using the distilled fact table.
Claim 30
Dependent Claim 21 words
The medium of claim 26, further comprising: predicting an execution cost required to perform the first, second, and final query plans.
Claim 31
Dependent Claim 27 words
The medium of claim 27, further comprising: determining whether the cost satisfies a predetermined criteria, and if so, carrying out the planned first, second, and final queries.
Claim 32
Dependent Claim 43 words
The medium of claim 28, further comprising: predicting an execution cost to perform one or more alternate query plans; wherein the predetermined criteria comprises the cost of the first, second, and final query plans being less than each of the alternate query plans.
Claim 33
Dependent Claim 15 words
The medium of claim 26, further comprising: executing the first, second, and final query plans.
Claim 34
Dependent Claim 39 words
The medium of claim 26, the receiving step comprising: receiving a query; and analyzing the query to determine whether the query comprises a star/join query joining a fact table with multiple dimension tables, and if not, aborting further operations.
Claim 35
Dependent Claim 42 words
The medium of claim 31, the analyzing step comprising: analyzing the query to determine whether the fact table lacks indices for join columns with any of the dimension tables, and if excluding said dimension tables from the first and second query plans.
Claim 36
Independent Claim 45 words
The medium of claims 31, the analyzing step comprising: analyzing the query to determine whether the join between any dimension table and the fact table reduces cardinality of the fact table, and if not, excluding said dimension tables from the first and second query plans.
Claim 37
Dependent Claim 42 words
The medium of claim 26, further comprising: analyzing the query to determine whether the fact table includes indices for join columns with each of the dimension tables, and if not, supplementing the second query plan to include planning generation of said indices.
Claim 38
Dependent Claim 55 words
The medium of claim 26, the receiving further comprising: identifying within the star/join query a snowflake join comprising a join of a first one of the dimension tables with another table that is neither the fact table nor one of the dimension tables; and the forming of the first query plan including the snowflake join.
Claim 39
Dependent Claim 28 words
The medium of claim 35, the forming of the first query plan only including the snowflake join if the snowflake join reduces cardinality of the first dimension table.
Claim 40
Dependent Claim 17 words
The medium of claim 26, the first query plan being constructed to produce distinct join column values.
Claim 41
Dependent Claim 20 words
The medium of claim 26, the first query plan suppressing columns of the dimension tables other than the join columns.
Claim 42
Dependent Claim 58 words
The medium of claim 26, the fact table index scan of each dimension table comprising a nested loop join operation performed upon an inner table and an outer table, the outer table comprising the plan for executing query of the dimension table, the inner table comprising an index over one or more join columns of the fact table.
Claim 43
Dependent Claim 54 words
The medium of claim 26, the forming of the second query plan further comprising: estimating a cardinality of each set of resultant RIDs of each dimension table join to the fact table index; and the applying of stage comparative ridge filtering being performed in order from least to greatest number of the estimated cardinality.
Claim 44
Dependent Claim 163 words
A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a database query, said method comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); performing access of each dimension table according to the star/join query to identify resultant rows of each dimension table; and for the resultant rows of each dimension table, performing a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; fetching all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and executing the star/join query using the distilled fact table.
Claim 45
Dependent Claim 163 words
A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a database query, said method comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); performing access of each dimension table according to the star/join query to identify resultant rows of each dimension table; and for the resultant rows of each dimension table, performing a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; fetching all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and executing the star/join query using the distilled fact table.
Claim 46
Dependent Claim 39 words
The medium of claim 41, the receiving step comprising: receiving a query; and analyzing the query to determine whether the query comprises a star/join query joining a fact table with multiple dimension tables, and if not, aborting further operations.
Claim 47
Dependent Claim 50 words
The medium of claim 42, the analyzing step comprising: analyzing the query to determine whether the fact table lacks indices for join columns with any of the dimension tables, and if so excluding said dimension tables from the performing access, performing the fact table index scan, applying, and fetching steps.
Claim 48
Dependent Claim 42 words
The medium of claim 41, further comprising: analyzing the query to determine whether the fact table includes indices for join columns with each of the dimension tables, and if not, supplementing the second query plan to include planning generation of said indices.
Claim 49
Dependent Claim 56 words
The medium of claim 41, the receiving further comprising: identifying within the star/join query a snowflake join comprising a join of a first one of the dimension tables with another table that is neither the fact table nor one of the dimension tables; and the performing access of each dimension table including performing each snowflake join.
Claim 50
Dependent Claim 28 words
The medium of claim 45, the performing access of each dimension table only including the snowflake join if the snowflake join reduces cardinality of the first dimension table.
Claim 51
Dependent Claim 21 words
The medium of claim 41, the access of each dimension table being executed so as to produce distinct join column values.
Claim 52
Dependent Claim 22 words
The medium of claim 41, the access of each dimension table suppressing columns of the dimension tables other than the join columns.
Claim 53
Dependent Claim 58 words
The medium of claim 41, the fact table index scan of each dimension table comprising a nested loop join operation performed upon an inner table and an outer table, the outer table comprising the plan for executing query of the dimension table, the inner table comprising an index over one or more join columns of the fact table.
Claim 54
Dependent Claim 41 words
The medium of claim 41, the applying of staged comparative RID filtering employing a set of one or more dynamic bit vectors for each dimension table, the filtering being performed in order from smallest to largest of the dynamic bit vectors.
Claim 55
Dependent Claim 206 words
A digital data processing apparatus, comprising: a storage unit containing a program of machine-readable instructions; and a processing unit coupled to the storage unit and being programmed to perform steps to evaluate a query by executing the machine-readable instructions, said steps comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); forming a first query plan for access of each dimension table to identify resultant rows of each dimension table; forming a second query plan for access of the fact table, comprising the steps of: for the resultant rows of each dimension table, planning a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; and planning a fetch of all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and forming a final query plan comprising planning execution of the query using the distilled fact table.
Claim 56
Dependent Claim 206 words
A digital data processing apparatus, comprising: a storage unit containing a program of machine-readable instructions; and a processing unit coupled to the storage unit and being programmed to perform steps to evaluate a query by executing the machine-readable instructions, said steps comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); forming a first query plan for access of each dimension table to identify resultant rows of each dimension table; forming a second query plan for access of the fact table, comprising the steps of: for the resultant rows of each dimension table, planning a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; and planning a fetch of all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and forming a final query plan comprising planning execution of the query using the distilled fact table.
Claim 57
Dependent Claim 21 words
The apparatus of claim 51, further comprising: predicting an execution cost required to perform the first, second, and final query plans.
Claim 58
Dependent Claim 27 words
The apparatus of claim 52, further comprising: determining whether the cost satisfies a predetermined criteria, and if so, carrying out the planned first, second, and final queries.
Claim 59
Dependent Claim 43 words
The apparatus of claim 53, further comprising: predicting an execution cost to perform one or more alternate query plans; wherein the predetermined criteria comprises the cost of the first, second, and final query plans being less than each of the alternate query plans.
Claim 60
Dependent Claim 15 words
The apparatus of claim 51, further comprising: executing the first, second, and final query plans.
Claim 61
Dependent Claim 39 words
The apparatus of claim 51, the receiving step comprising: receiving a query; and analyzing the query to determine whether the query comprises a star/join query joining a fact table with multiple dimension tables, and if not, aborting further operations.
Claim 62
Dependent Claim 43 words
The apparatus of claim 56, the analyzing step comprising: analyzing the query to determine whether the fact table lacks indices for join columns with any of the dimension tables, and if so, excluding said dimension tables from the first and second query plans.
Claim 63
Independent Claim 45 words
The apparatus of claims 56, the analyzing step comprising: analyzing the query to determine whether the join between any dimension table and the fact table reduces cardinality of the fact table, and if not, excluding said dimension tables from the first and second query plans.
Claim 64
Dependent Claim 42 words
The apparatus of claim 51, further comprising: analyzing the query to determine whether the fact table includes indices for join columns with each of the dimension tables, and if not, supplementing the second query plan to include planning generation of said indices.
Claim 65
Dependent Claim 55 words
The apparatus of claim 51, the receiving further comprising: identifying within the star/join query a snowflake join comprising a join of a first one of the dimension tables with another table that is neither th. fact table nor one of the dimension tables; and the forming of the first query plan including the snowflake join.
Claim 66
Dependent Claim 28 words
The apparatus of claim 60, the forming of the first query plan only including the snowflake join if the snowflake join reduces cardinality of the first dimension table.
Claim 67
Dependent Claim 17 words
The apparatus of claim 52, the first query plan being constructed to produce distinct join column values.
Claim 68
Dependent Claim 20 words
The apparatus of claim 52, the first query plan suppressing columns of the dimension tables other than the join columns.
Claim 69
Dependent Claim 58 words
The apparatus of claim 52, the fact table index scan of each dimension table comprising a nested loop join operation performed upon an inner table and an outer table, the outer table comprising the plan for executing query of the dimension table, the inner table comprising an index over one or more join columns of the fact table.
Claim 70
Dependent Claim 54 words
The apparatus of claim 51, the forming of the second query plan further comprising: estimating a cardinality of each set of resultant RIDs of each dimension table join to the fact table index; and the applying of stage comparative ridge filtering being performed in order from least to greatest number of the estimated cardinality.
Claim 71
Dependent Claim 180 words
A digital data processing apparatus, comprising: a storage unit containing a program of machine-readable instructions; and a processing unit coupled to the storage unit and being programed to perform a database a query by executing the machine-readable instructions, said steps comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); performing access of each dimension table according to the star/join query to identify resultant rows of each dimension table; and for the resultant rows of each dimension table, performing a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; fetching all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and executing the star/join query using the distilled fact table.
Claim 72
Dependent Claim 180 words
A digital data processing apparatus, comprising: a storage unit containing a program of machine-readable instructions; and a processing unit coupled to the storage unit and being programed to perform a database a query by executing the machine-readable instructions, said steps comprising: receiving a star/join query joining a fact table with multiple dimension tables, said fact table including a plurality of rows each row identified by a row identification code (RID); performing access of each dimension table according to the star/join query to identify resultant rows of each dimension table; and for the resultant rows of each dimension table, performing a fact table index scan over join columns of that dimension table to produce a set of resultant RIDs, said fact table having indices for join columns with each of the dimension tables; applying staged comparative RID filtering to each dimension table's set of resultant RIDs to produce a set of filtered RIDs; fetching all fact table rows corresponding to the set of filtered RIDs to produce a distilled fact table; and executing the star/join query using the distilled fact table.
Claim 73
Dependent Claim 39 words
The apparatus of claim 66, the receiving step comprising: receiving a query; and analyzing the query to determine whether the query comprises a star/join query joining a fact table with multiple dimension tables, and if not, aborting further operations.
Claim 74
Dependent Claim 50 words
The apparatus of claim 67, the analyzing step comprising: analyzing the query to determine whether the fact table lacks indices for join columns with any of the dimension tables, and if so, excluding said dimension tables from the performing access, performing the fact table index scan, applying, and fetching steps.
Claim 75
Dependent Claim 42 words
The apparatus of claim 66, further comprising: analyzing the query to determine whether the fact table includes indices for join columns with each of the dimension tables, and if not, supplementing the second query plan to include planning generation of said indices.
Claim 76
Dependent Claim 56 words
The apparatus of claim 66, the receiving further comprising: identifying within the star/join query a snowflake join comprising a join of a first one of the dimension tables with another table that is neither the fact table nor one of the dimension tables; and the performing access of each dimension table including performing each snowflake join.
Claim 77
Dependent Claim 28 words
The apparatus of claim 70, the performing access of each dimension table only including the snowflake join if the snowflake join reduces cardinality of the first dimension table.
Claim 78
Dependent Claim 21 words
The apparatus of claim 66, the access of each dimension table being executed so as to produce distinct join column values.
Claim 79
Dependent Claim 22 words
The apparatus of claim 66, the access of each dimension table suppressing columns of the dimension tables other than the join columns.
Claim 80
Dependent Claim 58 words
The apparatus of claim 66, the fact table index scan of each dimension table comprising a nested loop join operation performed upon an inner table and an outer table, the outer table comprising the plan for executing query of the dimension table, the inner table comprising an index over one or more join columns of the fact table.
Claim 81
Dependent Claim 41 words
The apparatus of claim 66, the applying of staged comparative RID filtering employing a set of one or more dynamic bit vectors for each dimension table, the filtering being performed in order from smallest to largest of the dynamic bit vectors.

References Cited (Backward Citations)

US5091852A Cited
US5297280A Cited
US5345585A Cited
US5806059A Cited
US5797000A Cited
US5822749A Cited
US5530939A Cited
US5799309A Cited
US5671403A Cited
US5694591A Cited
US5864842A Cited
US5848408A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-27 2003-03-29 2003-09-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-27 2007-03-29 2007-09-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-27 2011-03-29 2011-09-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag