When a row is inserted into a table, the database server does not attempt to put the data in any particular location within the table. Instead, the server simply places the data in the next available location within the file. When a query is sent against the table therefore, the server will need to inspect every row of the table to answer the query. Tables in MySQL can grow very large, and as a table gets bigger, retrievals from it become slower. An index in MySQL serves to assist in finding row data more quickly and easily, much like an index in the back of a technical manual. Database indexes are used to locate rows in a table. Indexes are special structures that, unlike normal tables, are kept in a specific order. Instead of containing all of the data about an entity, however, an index contains only the column(s) used to locate rows in the data table. It also contains information de...
“The best way to be ready for the future is to invent it.”— John Sculley