Index are an additional data structure that derived from the primary data table, to speed up look up.
The general idea of indexes is to keep some additional metadata on the side to help locate the data you want.
Many database allow us to create or remove indexes with out affecting data. It only aff ect the performance of queries.
The trade off of using indexes is: well-chosen index speed up queries but every index slow down write!
That's why database don't index everything.
Source: Designing Data-Intensive applications, Chapter 3, Pg. 71