IP Library › Granted Patent US 9,208,186
Granted Patent B2
US 9,208,186 · App. 12/055,398 · Granted Dec 8, 2015

Indexing technique to deal with data skew

Inventor: Stephen Molini (Omaha, NE)
Assignee: Teradata US, Inc.
G06F17/30336G06F17/30097G06F17/30498
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,208,186
App. No.
12/055,398
Granted
Dec 8, 2015
Kind
B2
Abstract

A method for facilitating join operations between a first database table and a second database table within a database system. The first database table and the second database table share at least one common index column. The method includes creating a new index column in the second database table that is populated with a limited number of distinct calculated values for the purpose of increasing the overall number of distinct values collectively assumed by the columns common between the two tables. An intermediate table is created, the intermediate table including the common columns of the first database table, the second database table, and the new index column. An index is defined of the intermediate table to be the column(s) common between the first and second tables. An index is defined of the second table to be the column(s) common between the first database table, the second database table and the new index column.

Claims (14)

1. A method for facilitating join operations between a first database table and a second database table within a database system, the first database table and the second database table sharing at least one common index column, the method comprising:

creating a new index column in the second database table that is populated with a limited number of distinct calculated values for the purpose of increasing the overall number of distinct values collectively assumed by the columns common between the two tables;

creating an intermediate table, the intermediate table including the common columns of the first database table, the second database table, and the new index column;

defining an index of the intermediate table to be the column(s) common between the first and second tables; and

defining an index of the second table to be the column(s) common between the first database table, the second database table and the new index column.

2. The method of claim 1 further comprising defining one or more additional intermediate tables between the first database table and the second database table with multiple calculated index columns, the additional intermediate tables progressively augmenting the number of distinct index key values when advancing joins from one intermediate table to the next until finally reaching the second database table.

3. The method of claim 1 further comprising a developer-controlled or administrator-controlled extension to the function used to calculate values for the new index column specifically as where those extensions alter the range of distinct values that can be generated.

4. Non-transitory computer readable media on which is stored computer executable instructions that when executed on a computing device cause the computing device to perform a method for facilitating join operations between a first database table and a second database table within a database system, the first database table and the second database table sharing at least one common index column, the method comprising:

creating a new index column in the second database table that is populated with a limited number of distinct calculated values for the purpose of increasing the overall number of distinct values collectively assumed by the columns common between the two tables;

creating an intermediate table, the intermediate table including the common columns of the first database table, the second database table, and the new index column;

defining an index of the intermediate table to be the column(s) common between the first and second tables; and

defining an index of the second table to be the column(s) common between the first database table, the second database table and the new index column.

5. The non-transitory computer readable media of claim 4 wherein the method further comprises defining one or more additional intermediate tables between the first database table and the second database table with multiple calculated index columns, the additional intermediate tables progressively augmenting the number of distinct index key values when advancing joins from one intermediate table to the next until finally reaching the second database table.

6. The non-transitory computer readable media of claim 4 wherein the method further comprises a developer-controlled or administrator-controlled extension to the function used to calculate values for the new index column specifically as where those extensions alter the range of distinct values that can be generated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2008
From: MOLINI, STEPHEN
To: TERADATA CORPORATION
Reel/Frame 020908/0236 →
Continuity (1)
Related Publication 20090248616A1 · Oct 1, 2009