IP Library › Granted Patent US 8,635,195
Granted Patent B2
US 8,635,195 · App. 13/445,296 · Granted Jan 21, 2014

Index compression in a database system

Inventors: Andreas Christian (Karlsruhe, DE); Joern Klauke (Petersberg, DE); Edgardo G. Koenig (Leimen, DE)
Assignee: International Business Machines Corporation
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 8,635,195
App. No.
13/445,296
Granted
Jan 21, 2014
Kind
B2
Abstract

A method for compressing index pages in a database system is provided. The database system includes a table, and the table includes table columns. The method includes: providing an index associated with the table, wherein the index is stored on at least one index page of the database system, and wherein the index comprises index columns related to a part of the table columns; providing a first sequence of the index columns; providing a second sequence of the index columns; arranging the index columns stored on the at least one index page according to the second sequence; performing a prefix compression on entries of the at least one index page; and accessing the index using the first sequence of the index columns.

Claims (38)

1. A method for compressing index pages in a database system comprising a table, wherein the table comprises table columns, the method comprising:

providing an index associated with the table, wherein the index is stored on at least one index page of the database system, wherein the index comprises index columns related to a part of the table columns, wherein the at least one index page is stored on a long term storage medium;

providing a first sequence of the index columns, wherein the first sequence of the index columns comprises a logical sequence;

providing a second sequence of the index columns, wherein the second sequence of the index columns comprises a physical sequence that is determined such that an index column having a lowest cardinality is a first column of the index columns in the second sequence;

arranging the index columns stored on the at least one index page stored on the long term storage medium according to the second sequence;

performing a prefix compression on entries of the at least one index page;

transferring the at least one index page from the long term storage medium to a cache;

arranging the index columns according to the first sequence of the index columns such that the index columns are stored in the cache according to the first sequence of the index columns; and

accessing the index using the first sequence of the index columns after arranging the index columns according to the first sequence of the index columns in the cache.

2. The method according to claim 1 , wherein the accessing of the index comprises arranging the index columns according to the first sequence of the index columns such that entries of the index are accessed using the first sequence of the index columns.

3. The method according to claim 1 , wherein the second sequence of the index columns is determined based on data being stored in the table.

4. The method according to claim 1 , wherein the providing of the second sequence of the index columns comprises defining the second sequence of the index columns in a modified CREATE INDEX statement of a structured query language.

5. The method according to claim 1 , wherein, in case a new row is inserted into the table, a new index entry into the index associated with the table is inserted using the first sequence of the index columns.

6. A computer program product for implementing compressing index pages in a database system comprising a table, wherein the table comprises table columns, the computer program product comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured for:

providing an index associated with the table, wherein the index is stored on at least one index page of the database system, wherein the index comprises index columns related to a part of the table columns, wherein the at least one index page is stored on a long term storage medium;

providing a first sequence of the index columns, wherein the first sequence of the index columns comprises a logical sequence;

providing a second sequence of the index columns, wherein the second sequence of the index columns comprises a physical sequence that is determined such that an index column having a lowest cardinality is a first column of the index columns in the second sequence;

arranging the index columns stored on the at least one index page stored on the long term storage medium according to the second sequence;

performing a prefix compression on entries of the at least one index page;

transferring the at least one index page from the long term storage medium to a cache;

arranging the index columns according to the first sequence of the index columns such that the index columns are stored in the cache according to the first sequence of the index columns; and

accessing the index using the first sequence of the index columns after arranging the index columns according to the first sequence of the index columns in the cache.

7. The computer program product according to claim 6 , wherein the accessing of the index comprises arranging the index columns according to the first sequence of the index columns such that entries of the index are accessed using the first sequence of the index columns.

8. The computer program product according to claim 6 , wherein the second sequence of the index columns is determined based on data being stored in the table.

9. The computer program product according to claim 6 , wherein the providing of the second sequence of the index columns comprises defining the second sequence of the index columns in a modified CREATE INDEX statement of a structured query language.

10. The computer program product according to claim 6 , wherein, in case a new row is inserted into the table, a new index entry into the index associated with the table is inserted using the first sequence of the index columns.

11. An index compression converter for compressing index pages in a database system comprising a table, wherein the table comprises table columns, the index compression converter comprising:

a computer system comprising a processor and a memory configured to provide:

an index providing unit configured to provide an index associated with the table, wherein the index is stored on at least one index page of the database system, wherein the index comprises index columns related to the table columns, wherein the at least one index page is stored on a long term storage medium;

a first providing unit configured to provide a first sequence of the index columns, wherein the first sequence of the index columns comprises a logical sequence;

a second providing unit configured to provide a second sequence of the index columns, wherein the second sequence of the index columns comprises a physical sequence that is determined such that an index column having a lowest cardinality is a first column of the index columns in the second sequence;

an arranging unit configured to arrange the index columns stored on the at least one index page stored on the long term storage medium according to the second sequence;

a compression unit configured to carry out a prefix compression on entries of the at least one index page;

a transferring unit configured to transfer the at least one index page from the long term storage medium to a cache;

the arranging unit further configured to arrange the index columns according to the first sequence of the index columns such that the index columns are stored in the cache according to the first sequence of the index columns; and

an accessing unit configured to access the index using the first sequence of the index columns after arranging the index columns according to the first sequence of the index columns in the cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2012
From: CHRISTIAN, ANDREAS; KLAUKE, JOERN; KOENIG, EDGARDO GILDO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028036/0662 →
Priority Claims (1)
EP 11166642 · May 19, 2011 · regional
Continuity (1)
Related Publication 20120296881A1 · Nov 22, 2012