Indexing in Relational Databases
Indexing in Relational Databases
HEINZ COLLEGE
B*TREE INDEX
Mithun Mathew 1
INTRODUCTION
Index design methods have been around since the
1960s. After the shift from column-oriented
approach to response-oriented approach in 1980s,
faster data access became the priority for database
administrators [1]. With expanding size and
increasing complexity of databases, the role of
indexes in databases heightened. The value that
indexing provided for database administrators led to
the development of automated index design
processes. This paper discusses about how indexes
participate in improving the performance of
relational databases and a few of the most
commonly used indexes.
DEFINITION OF INDEXES
At its granular level, an index is a data structure
which keeps track of the values of a certain column
in a table within a relational database. The index
facilitates faster querying of results using SELECT
statements that has specific conditions on the
indexed column. The values of the column being
stored inside a data structure allows the database
system to sort the data structure and search for
indexed values. Database systems like Oracle,
generally choose their default data structure for
indexing unless it is explicitly specified by the user.
WORKING OF INDEXES
In addition to the value of the column, the index
stores the pointer this points to the row which
contains this specific column value [2].
An indexing system in a database works the same
way as the content of an index section of a book
works. The value is searched for using the index and
upon finding this value, it directs you towards a
certain page of the book. Similarly a relational
database indexing system provides a means of lookup, where the system can look up the value of a
column and find out in which row this value is
located in the table.
1: B*Tree Index
HEINZ COLLEGE
BITMAP INDEXES
Bitmap Indexes are more efficient where the column
to be indexed has a specific domain with low
cardinality [6]. For example a customer is classified
into three age groups A (0-20), B (21-50) and C (51
and above). The column age would have a domain
{A, B, C}. The following example shows how
bitmap indexes work with 7 customers. 1 indicates
that the customers age is within that group.
ROWID
A
B
C
A1AA
1
0
0
A1AB
0
1
0
A1AC
1
0
0
A1AD
0
0
1
A1AE
0
0
1
A1AF
1
0
0
A1AG
0
1
0
2: Bitmap Index
AUTHOR DETAILS
REFERENCES
1Graduate
2|Page