Da documentação do MySQL em http://dev.mysql .com/doc/refman/5.6/en/order-by-optimization.html
Em alguns casos, o MySQL não pode usar índices para resolver o erro
ORDER BY
, embora ainda use índices para encontrar as linhas que correspondem ao WHERE
cláusula. Esses casos incluem o seguinte:. . .
A chave usada para buscar as linhas não é a mesma usada no
ORDER BY
:`SELECT * FROM t1 WHERE key2=constant ORDER BY key1;`
Isso provavelmente não ajudará, mas o que acontece se você adicionar
AND ID > 0
para WHERE
cláusula? Isso faria com que o MySQL usasse a chave primária para classificação? Vale a pena tentar eu suponho. (Parece estranho que ordenar com ak seja eficiente, já que ak nem tem índice, mas isso pode ser devido a menos valores para ak?)