Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
October 4, 2020 07:18 am GMT

What exactly does Indexing in a Database do?

Hey there! While working with the database, I came to know how important it is to use index on a table which holds a large number of records. In this article, I will be explaining
what difference does it make to add an index to a table.

Consider the below student table is created in Oracle SQL Database.

Alt Text

Now I want to get the details of the students who are in Primary Grade. Obviously I need to write a select query.

Select * from student where student_grade = Primary;

Now what happens?

Internally it identifies the column student_grade and searches sequentially all the records which match Primary.

It finds the first record matching primary and returns the row. It finds the second record matching primary and returns the row. It continues its process of finding Primary. Skips third record and finds fourth record matching primary. Now does it stop? No. It still continues to go till the end of the table searching for primary.

It will look fine for a table with just 5 rows but what if I have a table with 10000 records.

Alt Text

Lot of time gets involved and who would respect such a time delay?

Here is where our Indexing comes to save the time. We are all aware of what indexing means. It keeps references for quicker access. A cliche example would be a index of a textbook keeping page references to topics covered in the book.

Now lets create a index on the column Student_grade and see what happens.

Create index student_student_grade_I on student(student_grade);

student_student_grade_I is the index_name.

With the addition of index on our table, a new data structure gets created which will hold the student_grade and a pointer that references the original record in the table. The Data Structure is BTree which offers the advantage that it has all the records sorted. A index would look similar to the below table on the left.

Alt Text

It now finds 2,3,4 records matching primary. Stops executing and returns the records with the help of record_pointer.

References

1)https://www.youtube.com/watch?v=aZjYr87r1b8
2)https://chartio.com/learn/databases/how-does-indexing-work/


Original Link: https://dev.to/preethi27916/what-exactly-does-indexing-in-a-database-do-28a3

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To