Eu tenho uma tabela preenchida frequentemente com novas entradas. Registros com mais de 2 dias são excluídos a cada poucos minutos com:
DELETE FROM ip_log WHERE timestamp < NOW() - INTERVAL 2 DAY
Essa é a única consulta por timestamp, as demais consultas dessa tabela estão no IP que é o PK (tenho interesse em saber se esse usuário é novo ou se já teve atividade recentemente)
O índice no timestamp deve ser ASC ou DESC ?
A estrutura do índice é tão rápida para trás quanto para a frente, portanto, sua consulta não se beneficiará com a reversão da direção da árvore.
Mas especialmente para timestamps, mas realmente para qualquer chave que incrementa em uma direção, eu configuraria para que novos valores (maiores) estivessem no final, então deixe na ordem ASC. Isso reduzirá a fragmentação do índice, pois, independentemente da ordem da chave, novos valores são gravados no final, a menos que haja um fator de preenchimento suficientemente baixo para suportar inserções fora de ordem.