- without index MySQL will search through all table
- used for fast search for WHERE column or for JOIN
- do not create indexes in advance, but for particular high load
- create indexes if slow query log is more then 1 second
- create indexes only for frequent queries
- create indexes for table with more than one thousands records
- an accelerate SELECT, and make slower UPDATE, DELETE, INSERT
- delete useless indexes
Index type:
- b-tree
- hash (memory engine)