An index on a database table is similar to an index in a book in that it help the database finds or sort rows on a particular column quickly. Queries run faster if they are searching or sorting on a column that is indexed than if the column were not indexed.

It would however be inefficient to index all the columns in a table as this would slow down the write speed. Every time a new row is created, or an existing one altered, the database server wold have to update the table as well as all the indexes. Usually only the columns most used in queries are indexed.