Browse Prior Art Database

METHOD OF IMPLEMENTING OPTIMAL STORAGE WHILE CREATING/REBUILDING MULTIPLE INDEXES

IP.com Disclosure Number: IPCOM000247954D
Publication Date: 2016-Oct-14
Document File: 4 page(s) / 65K

Publishing Venue

The IP.com Prior Art Database

Abstract

The disclosed method is to implement the optimal storage while creating or rebuilding mupltiple indexes. In any relational database mananagement systems (RDBMS), you will have a table to hold user data and one or more indexes on top of it for faster data access. In certain conditions, you may need to rebuild the indexes and indexes may consume lot of disk space. The proposed mechanism will create multipe indexes using optimal and minimal disk space usage.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 55% of the total text.

Page 01 of 4

METHOD OF IMPLEMENTING OPTIMAL STORAGE WHILE CREATING

METHOD OF IMPLEMENTING OPTIMAL STORAGE WHILE CREATING/

REBUILDING MULTIPLE INDEXES

A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index data structure. Indexes are used to quickly locate data without having to search every row in a database table every time a database table is accessed. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random lookups and efficient access of ordered records.

The table can have one or more indexes. Each index holds pointers to all table rows ('n' rows). So it requires minimum 'n' units of storage to hold 'n' rows pointers (row ids - RIDs).

Suppose there is an index on 5 columns of table. It will look like as follows:

Columns values Table Rows Pointers

1,2,3,4,5 Row1 Row5 Row7

1,2,3,4,6 Row3 Row8 Row10 Row12

2,3,4,5,6 Row4 Row6 Row9

2,3,4,5,8 Row2

1,2,3,9,6 Row13 Row17 Row11 Row22

If there are multiple indexes (say 'm' indexes) on table, then all indexes will require minimum m*n units of storage. We believe that this is not an optimal way. Our proposed solution will save some storage in case multiple indexes are defined on a table.

Consider we have table with 50 columns and it has millions of rows. Suppose we need to create/recreate 2 indexes as follows:

Index i5 on 5 columns: Col1, Col3, Col5, Co...