Originally Posted by
Eranga
Hey ProjectKaiser, what's the use of it even need to retrieve large number of data. How can be this is helpful on that? I'm asking this, because I'm not much familiar with DB related development and I want to learn something on this. 
I'm not Kaiser. But if you have something like all the call data records of a telco switch or of a cell tower, then there are millions of records reflecting the thousands of numbers that use the switch or telco.
So by using an index on the "phone_number" field, and doing an equals search, you are eliminating millions of records that don't match. Thus you only have to search through the records for the calls you made.
A select using something like
select * from bigcallrecordtable where phone_number = "201 555-1212" is massively faster with an index than without.
If you don't work in the DBMS space, you probably should let someone who does answer the questions.
And OP, your thread title leaves a lot to be desired. Better titles are likely to get more responses.
The OP doesn't talk about how many tables are being joined, how many fields are being searches, whether or not a "like" verb is being used, etc.
DBMS query optimization is a wide open topic, there are lots of books on it, and there are PhD dissertations yet to be written