Ik heb een SQL-versie van het rangschikkingsalgoritme van Reddit geïmplementeerd voor een video-aggregator, zoals:
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 wordt bijgewerkt door een trigger wanneer een nieuwe stem wordt uitgebracht. Het werkt snel genoeg op onze huidige site, maar ik ben van plan een kolom met rangordewaarde toe te voegen en deze bij te werken met dezelfde trigger als de cached_votes_total kolom. Na die optimalisatie zou het snel genoeg moeten zijn voor de meeste sites van elke grootte.
edit:Meer informatie op Reddit Hotness Algorithm in SQL