J'ai implémenté une version SQL de l'algorithme de classement de Reddit pour un agrégateur vidéo comme celui-ci :
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 est mis à jour par un déclencheur chaque fois qu'un nouveau vote est émis. Il fonctionne assez rapidement sur notre site actuel, mais je prévois d'ajouter une colonne de valeur de classement et de la mettre à jour avec le même déclencheur que le cached_votes_total colonne. Après cette optimisation, il devrait être assez rapide pour la plupart des sites de toutes tailles.
edit :Plus d'informations sur Algorithme Reddit Hotness en SQL