Como ele precisa carregar a tabela inteira para responder à consulta e classificar 4 elementos é barato, o otimizador de consulta pode estar evitando tocar no índice. Isso ainda acontece com mesas maiores?
Observe que uma coluna varchar(3000) não pode ser um índice de cobertura porque o MySQL não incluirá mais do que os primeiros 768 bytes de um varchar em um índice.
Se você quiser que a consulta leia apenas o índice, o índice deve ter todas as colunas que você
SELECT
para nele. No innodb, isso deve começar a funcionar para sua tabela de duas colunas assim que você tornar o textcol pequeno o suficiente; no MyISAM você precisará incluir a coluna de chave primária, como CREATE INDEX textcolindex ON test (textcol,id);