Você provavelmente seria melhor deixar o MySql decidir sobre o plano de consulta. Há uma boa chance de que fazer uma varredura de índice seja menos eficiente do que uma varredura completa de tabela.
Existem duas estruturas de dados no disco para esta tabela
- A própria tabela; e
- O índice B-Tree da chave primária.
Quando você executa uma consulta, o otimizador tem duas opções sobre como acessar os dados:
SELECT * FROM userapplication WHERE application_id > 1025;
Usando o índice
- Verifique o índice B-Tree para encontrar o endereço de todas as linhas em que
application_id > 1025
- Leia as páginas apropriadas da tabela para obter os dados dessas linhas.
Não usar o Índice
Digitalize a tabela inteira e escolha os registros apropriados.
Escolhendo a melhor estratégia
O trabalho do otimizador de consultas é escolher a estratégia mais eficiente para obter os dados desejados. Se houver muitas linhas com um
application_id > 1025
então, na verdade, pode ser menos eficiente usar o índice. Por exemplo, se 90% dos registros tiverem um application_id > 1025
então o otimizador de consulta teria que varrer cerca de 90% dos nós folha do índice b-tree e então ler pelo menos 90% da tabela também para obter os dados reais; isso envolveria a leitura de mais dados do disco do que apenas varrer a tabela.