Jeg implementerede en SQL-version af Reddits rangeringsalgoritme for en videoaggregator som sådan:
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 opdateres af en trigger, hver gang der afgives en ny stemme. Det kører hurtigt nok på vores nuværende websted, men jeg planlægger at tilføje en rangeringsværdikolonne og opdatere den med samme trigger som cached_votes_total kolonne. Efter denne optimering burde den være hurtig nok til stort set enhver størrelse websted.
edit:Flere oplysninger på Reddit Hotness Algorithm in SQL