Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Importance of Indexing

DZone's Guide to

The Importance of Indexing

· Integration Zone ·
Free Resource

SnapLogic is the leading self-service enterprise-grade integration platform. Download the Gartner iPaaS Magic Quadrant Report to learn more or play around on the platform, risk free, for 30 days.

Problem Statement: In the code we had a JDBC select query on 2 columns of a database table. The query was like this.


SELECT NAME FROM EMPLOYEE WHERE AGE=? AND DEPT=? ;


This query used to take 0.05 seconds to execute.

There was a change request in a release under which we had to modify this query to add another column in the where clause. Now the query looked like.

SELECT NAME FROM EMPLOYEE WHERE AGE=? AND DEPT=? AND COUNTRY=?;


This query now took 0.5 seconds to execute which was 10 times more than the earlier query and surprisingly no new record was added to the table, which was puzzling us as to where the problem is ?

Solution: On checking the indexes on this table, we saw there was an index IDX_EMPLOYEE_AGE_DEPT on columns AGE and DEPT.

So we dropped that index as there was no other query using this index and created a new index IDX_EMPLOYEE_AGE_DEPT_COUNTRY on columns AGE, DEPT and COUNTRY.

CREATE INDEX IDX_EMPLOYEE_AGE_DEPT_COUNTRY ON EMPLOYEE(AGE, DEPT,COUNTRY);


Since, this table had 75 lakhs record so it took considerable time to create this index but after that the same query got executed in 0.06 seconds which was required.

This problem statement and solution helps us in understanding the importance on indexing.

With SnapLogic’s integration platform you can save millions of dollars, increase integrator productivity by 5X, and reduce integration time to value by 90%. Sign up for our risk-free 30-day trial!

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}