Eu implementei uma versão SQL do algoritmo de classificação do Reddit para um agregador de vídeo assim:
SELECT id, title
FROM videos
ORDER BY
LOG10(ABS(cached_votes_total) + 1) * SIGN(cached_votes_total)
+ (UNIX_TIMESTAMP(created_at) / 300000) DESC
LIMIT 50
cached_votes_total é atualizado por um gatilho sempre que um novo voto é lançado. Ele roda rápido o suficiente em nosso site atual, mas estou planejando adicionar uma coluna de valor de classificação e atualizá-la com o mesmo gatilho que o cached_votes_total coluna. Após essa otimização, deve ser rápido o suficiente para a maioria dos sites de qualquer tamanho.
edit:Mais informações em Reddit Hotness Algorithm in SQL