O MySQL pode criar índices em múltiplas colunas. Um índice
        pode consistir de até 15 colunas. (Em colunas
        CHAR e VARCHAR você
        também pode utilizar um prefixo da coluna como parte de um
        índice).
      
Um índice de múltiplas colunas pode ser considerado um array ordenado contendo valores que são criados concatenando valores de colunas indexadas.
        O MySQL utiliza índices de múltiplas colunas de forma que
        consultas são rápidas quando você especifica uma quantidade
        conhecida para a primeira coluna do índice em uma cláusula
        WHERE, mesmo se você não especificar
        valores para as outras colunas.
      
Suponha que uma tabela tenha a seguinte especificação:
mysql> CREATE TABLE teste (
           id INT NOT NULL,
           ultimo_nome CHAR(30) NOT NULL,
           primeiro_nome CHAR(30) NOT NULL,
           PRIMARY KEY (id),
           INDEX nome (ultimo_nome,primeiro_nome));
        Então o índice nome é um índice com
        ultimo_nome e
        primeiro_nome. O índice será usado para
        consultas que especificarem valores em um limite conhecido para
        ultimo_nome, ou para ambos
        ultimo_nome e
        primeiro_nome. Desta forma, o índice
        nome será usado nas seguintes consultas:
      
mysql>SELECT * FROM teste WHERE ultimo_nome="Widenius";mysql>SELECT * FROM teste WHERE ultimo_nome="Widenius"AND primeiro_nome="Michael"; mysql>SELECT * FROM teste WHERE ultimo_nome="Widenius"AND (primeiro_nome="Michael" OR primeiro_nome="Monty"); mysql>SELECT * FROM teste WHERE ultimo_nome="Widenius"AND primeiro_nome >="M" AND primeiro_nome < "N";
        Entretanto, o índice nome
        não será usado nas seguintes
        consultas:
      
mysql>SELECT * FROM teste WHERE primeiro_nome="Michael";mysql>SELECT * FROM teste WHERE ultimo_nome="Widenius"OR primeiro_nome="Michael";
Para maiores informações sobre a maneira que o MySQL utiliza índices para melhorar o desempenho das consultas, veja Secção 5.4.3, “Como o MySQL Utiliza Índices”.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

