IP Library Granted Patent US 12,455,866
Granted Patent B2
US 12,455,866 · App. 18/603,819 · Granted Oct 28, 2025

Multiple column order preserving compression

Inventors: Rajat Rao (Bangalore, IN); Abinaya B (Cuddalore, IN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F16/221G06F16/2282G06F16/2453
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 12,455,866
App. No.
18/603,819
Granted
Oct 28, 2025
Kind
B2
Abstract

Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: performing order preserving compression of a multiple column index table of a database to provide an encoded index table sorted by an initial column, wherein the multiple column index table includes the initial column and one or more subsequent column; and determining, in dependence on a result of the performing the order preserving compression, at least one modification factor for respective ones of the one or more subsequent column.

Claims (45)

1. A computer implemented method comprising:

performing order preserving compression of a multiple column index table of a database to provide an encoded index table sorted by an initial column, wherein the multiple column index table includes the initial column and one or more subsequent column;

determining, in dependence on a result of the performing the order preserving compression, at least one modification factor for respective ones of the one or more subsequent column;

storing the at least one modification factor to the database;

receiving a query;

examining the query and determining, based on the examining, that the query references a subsequent column of the one or more subsequent column;

responsively to the determining that the query references the subsequent column, retrieving from the database a modification factor for the subsequent column; and

processing the query with use of the modification factor for the subsequent column.

2. The computer implemented method of claim 1 , wherein the determining, in dependence on a result of the performing the order preserving compression, at least one modification factor for respective ones of the one or more subsequent column includes transforming a row of the multiple column index table, wherein the transforming includes zeroing out bits of the row.

3. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes zeroing out bits of the query.

4. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes transforming bits of the query into ones.

5. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes multiplying a row of the encoded index table by the modification factor for the subsequent column.

6. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes comparing a row of the encoded index table to the query.

7. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes comparing a row of the encoded index table to the query, wherein the comparing includes transforming the row of the encoded index table using the modification factor for the subsequent column, and further transforming the query.

8. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes comparing a row of the encoded index table to the query, wherein the comparing includes transforming the row of the encoded index table using the modification factor for the subsequent column to output a transformed row, and further transforming the query to output expressions for minimum and maximum bounds for the query, and wherein the comparing includes flagging the row as a matched pointed to row when the transformed row is within the minimum and maximum bounds.

9. The computer implemented method of claim 1 , wherein the processing the query with use of the modification factor for the subsequent column includes comparing a row of the encoded index table to the query, wherein the comparing includes transforming the row of the encoded index table using the modification factor for the subsequent column to output a transformed row, and further transforming the query to output expressions for minimum and maximum bounds for the query, and wherein the comparing includes flagging the row as a matched pointed to row when the transformed row is within the minimum and maximum bounds, and wherein the method further includes accessing underlying leaf page stored table data of the database using a row ID of the row responsively to the flagging.

10. The computer implemented method of claim 1 , wherein subsequent column of the one or more subsequent column is a second column of the multiple column index table.

11. The computer implemented method of claim 1 , wherein subsequent column of the one or more subsequent column is an nth column of the multiple column index table.

12. The computer implemented method of claim 1 , wherein storage of modification factors including the at least one modification factor is optimized by providing a common factor for all rows.

13. The computer implemented method of claim 1 , wherein storage of modification factors including the at least one modification factor is optimized by truncating a precision of the modification factor to as many bits as is needed to achieve query execution.

14. A system comprising:

a memory;

at least one processor in communication with the memory; and

program instructions executable by one or more processor via the memory to perform a method comprising:

performing order preserving compression of a multiple column index table of a database to provide an encoded index table sorted by an initial column, wherein the multiple column index table includes the initial column and one or more subsequent column;

determining, in dependence on a result of the performing the order preserving compression, at least one modification factor for respective ones of the one or more subsequent column;

storing the at least one modification factor to the database;

receiving a query;

examining the query and determining, based on the examining, that the query references a subsequent column of the one or more subsequent column;

responsively to the determining that the query references the subsequent column, retrieving from the database a modification factor for the subsequent column; and

processing the query with use of the modification factor for the subsequent column.

15. The system of claim 14 , wherein the determining, in dependence on a result of the performing the order preserving compression, at least one modification factor for respective ones of the one or more subsequent column includes transforming a row of the multiple column index table, wherein the transforming includes zeroing out bits of the row.

16. The system of claim 14 , wherein the processing the query with use of the modification factor for the subsequent column includes zeroing out bits of the query.

17. The system of claim 14 , wherein the processing the query with use of the modification factor for the subsequent column includes transforming bits of the query into ones.

18. The system of claim 14 , wherein the processing the query with use of the modification factor for the subsequent column includes multiplying a row of the encoded index table by the modification factor for the subsequent column.

19. The system of claim 14 , wherein the processing the query with use of the modification factor for the subsequent column includes comparing a row of the encoded index table to the query.

20. A computer program product comprising:

a computer readable storage medium readable by one or more processing circuit and storing instructions for execution by one or more processor for performing a method comprising:

performing order preserving compression of a multiple column index table of a database to provide an encoded index table sorted by an initial column, wherein the multiple column index table includes the initial column and one or more subsequent column;

determining, in dependence on a result of the performing the order preserving compression, at least one modification factor for respective ones of the one or more subsequent column;

storing the at least one modification factor to the database;

receiving a query;

examining the query and determining, based on the examining, that the query references a subsequent column of the one or more subsequent column;

responsively to the determining that the query references the subsequent column, retrieving from the database a modification factor for the subsequent column; and

processing the query with use of the modification factor for the subsequent column.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2024
From: RAO, RAJAT; B, ABINAYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066755/0259 →
Continuity (1)
Related Publication 20250291777A1 · Sep 18, 2025
References Cited (9)
US 9165109B2 · Chaisson · 2015 [cited by examiner]
US 9852169B2 · Faerber · 2017 [cited by examiner]
US 10824596B2 · Mueller · 2020 [cited by examiner]
US 20090006399A1 · Raman · 2009 [cited by examiner]
US 20160226512A1 · Dickie · 2016 [cited by applicant]
US 20210191915A1 · Arye et al. · 2021 [cited by applicant]
US 20220414078A1 · Junker et al. · 2022 [cited by applicant]
US 20230089082A1 · Schreter · 2023 [cited by applicant]
Antoshenkov, Gennady et al., “Order Preserving Key Compression,” CLR 94/3, Jun. 16, 1994, pp. 1-28. [cited by applicant]