An index that contains all the columns a query needs, so MySQL can satisfy the query entirely from the index without accessing the base table rows. A covering index eliminates extra I/O and is one of the most powerful query optimisation techniques, visible as ‘Using index’ in EXPLAIN output.