How Index Works in SQL?

Learn via video course
FREE
View all courses
DBMS Course - Master the Fundamentals and Advanced Concepts
DBMS Course - Master the Fundamentals and Advanced Concepts
by Srikanth Varma
1000
5
Start Learning
DBMS Course - Master the Fundamentals and Advanced Concepts
DBMS Course - Master the Fundamentals and Advanced Concepts
by Srikanth Varma
1000
5
Start Learning
Topics Covered

Overview

Index is a table that helps in faster query results and quick data retrieval from the database. Index tables use indexing, a technique that uses data structures to optimize the searching time of a database query. Indexing makes database performance better. It also consumes lesser space in the main memory.

Transform Your Career

Choose from our industry-leading programs designed for career success

NSDC Certified

Modern Software and AI Engineering Program

Master full-stack development with AI integration

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Modern Data Science and ML with specialisation in AI

Advanced data science techniques with AI specialization

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Advanced AIML with Specialisation in Agentic AI

Deep dive into AIML with focus on Agentic systems

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

DevOps, Cloud & AI Platform Engineering

Build and manage AI-powered cloud infrastructure

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

AI Engineering Advanced Certification by IIT-Roorkee

Premier AI engineering certification from IIT-Roorkee

3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
Program highlights
Go to Program

What is an INDEX?

Index usually consists of two columns which are a key-value pair. The two columns of the index table (i.e., the key-value pair) contain copies of selected columns of the tabular data of the database.

Data Refrence

Generally, we store the selected Primary or Candidate keys in a sorted manner so that we can reduce the overall query time or search time (from linear search to binary search).

Data Reference contains a set of pointers that holds the address of the disk block. The pointed disk block contains the actual data referred to by the Search Key. Data Reference is also called Block Pointer because it uses block-based addressing.

Indexing is used to quickly retrieve particular data from the database. Indexing reduces the number of disks required to access a particular data by internally creating an index table. Indexing is achieved by creating Index-table or Index.

How to create An Index?

The index can be created very easily using SQL commands.

Syntax:

Suppose we have a database of students. The student table has 44 columns: student ID, Name, Physics (marks in Physics), and Chemistry (marks in Chemistry).

Student table:

IDNamePhysicsChemistry
1Aman8692
2Sushant9191
3Saumya9898
4Aditya9388
5Nilesh8783

Let us create an index on the student table using the ID column.

Let us learn some of the advantages of using indexing on the tables of the database.

Advantages of Creating Index Table or Indexing:

  • Indexing helps in faster query results or quick data retrieval.
  • Indexing helps in faster sorting and grouping of records
  • Some Indexing uses sorted and unique keys, which helps to retrieve sorted queries even faster.
  • Index tables are smaller in size, so they require lesser memory.
  • As Index tables are smaller in size, they are stored in the main memory.
  • Since CPU speed and secondary memory speed have a large difference, the CPU uses this main memory index table to bridge the gap of speeds.
  • Indexing helps in better CPU utilization and better performance.

Refer to the image below to see how index works in SQL and how indexing divides the large database into smaller sub-contents.

root node

Turn Learning into Career Growth

1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary
1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary

How does Index Work?

Now that we know index and its advantages, let us now know how index works in SQL. Generally, the database takes the column provided with the CREATE INDEX command and sorts the column values using a special data structure called B-trees.

B-tree is a type of tree data structure that contains 2 things: Index Key and its corresponding disk address. Index Key refers to a certain disk address, and that disk further contains rows or tuples of data. Using B-tree, we can achieve fast searches and fast retrievals. Also, the disk space used is low.

Since the data structure, B_tree, is sorted in order, it makes our search more efficient. So, this is how the index works in SQL. Now let us take a few examples to visualize how index works in SQL.

Example - We want to store the below three-column table in the database.

NameMarksAge
Jone528
Alex3245
Tom3723
Ron8713
Mark2048
Bob8932

The B-tree representation will be like this:

key pair

In the index table, the left column contains the index key, which holds the reference to a particular table row.

Let us take an example to understand how the index works in SQL. Suppose we have the database of a college which stores the details of students. We will store the name, age, CGPA, roll number, and section of students.

The student table is shown below:

Student table

Roll_NoCGPANameSection
19.21AmanA
28.86AdityaA
139.92SushantC
249.71Mohit-
58.56SaumyaC

Suppose the index of the above table is roll_index. Now, a search using the index field can increase performance. The index uses B-tree, so this allows SQL for a binary search of the index with an average of log(n) accesses.

:::{.highlight} Note: We should use indexing when the table contains numerous entries. For a smaller table, the time taken by indexing is somewhat similar to a query without an index table.

:::

How Does the Database Know What Other Fields in the Table to Return?

As we have discussed above, the index table has two columns. The first column stores the key that points (or references) to a particular location of information. Using the student table example, we can visualize that a certain roll number index will point to a record of the table. The record can contain numerous columns or attributes. Hence, using an index, the database can know about the rest of the attributes of the table.

Conclusion

  • Index is a table that helps in faster query results and quick data retrieval from the database. Index tables use indexing, a technique that uses data structures to optimize the searching time of a database query.
  • Indexing makes better database performance. It also consumes lesser space in the main memory.
  • The database takes the column provided with the CREATE INDEX command and sorts the column values using a special data structure B-trees.
  • Index tables are smaller in size, so they require lesser memory. As Index tables are smaller in size, they are stored in the main memory.
  • Since CPU speed and secondary memory speed have a large difference, the CPU uses this main memory index table to bridge the gap of speeds.
  • Indexing helps in better CPU utilization and better performance.

Scaler Placement Report and Statistics

₹23L
AVG CTC
SCALER PLACEMENT PROOF

Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.

11,000+placements
650+companies
Verified data

Read More:

Hiring Partners:
GoogleGoogleAmazonAmazonMicrosoftMicrosoftFlipkartFlipkartAdobeAdobe1200+ more