This eval is based only on what you suggest ... may vary depending on the select column
MySQL uses indexes for these operations:
To quickly find strings matching the WHERE clause.
To eliminate the lines from consideration. If there is a choice between several indexes, MySQL usually uses an index that finds the least number of rows (the most selective index). If the table has an index of several columns, any left index prefix can be used by the optimizer to search for rows. For example, if you have an index with three columns (col1, col2, col3), you indexed the feature search in (col1), (col1, col2) and (col1, col2, col3). See Section 9.3.5, “Multiple Column Indexes” for more information.
Retrieving rows from other tables when performing joins. MySQL can use indexes on columns more efficiently if they are declared as the same type and size. In this context, VARCHAR and CHAR are considered the same if they are declared as the same. For example, VARCHAR (10) and CHAR (10) are the same size, but VARCHAR (10) and CHAR (15) are not.
To match non-binary columns of rows, both columns must use the same character set. For example, comparing a utf8 column with a latin1 column eliminates the use of an index.
Comparing dissimilar columns (comparing a row column with a temporary or numeric column, for example) can prevent the use of indexes if the values cannot be directly compared without conversion. For a given value, such as 1 in a numeric column, it can be compared with any number of values in a row column, for example, "1", "1", "00001", or '01 .e1. This eliminates the use of any indexes on the row column.
To find the MIN () or MAX () value for a specific indexed key_col column. This is optimized by the preprocessor, which checks to use WHERE key_part_N = constant for all key parts that occur before key_col in the index. In this case, MySQL makes one key lookup for each expression MIN () or MAX () and replaces it with a constant. If all expressions are replaced with constants, the query is returned immediately. For instance:
To sort or group a table if sorting or grouping is performed on the left prefix of a useful index (for example, ORDER BY key_part1, key_part2). If all key parts are followed by DESC, the key is read in reverse order. See Section 9.2.1.15, “ORDER BY Optimization” and Section 9.2.1.16, “GROUP BY Optimization”.
In some cases, a query can be optimized to retrieve values without consulting data rows. (An index that provides all the necessary query results is called a coverage index.) If a query is used from a table with only columns that are included in a certain index, the selected values can be obtained from the index tree for faster speed: