Hubert recently posted his thoughts on this topic: http://www.depesz.com/index.php/2007/09/16/my-thoughts-on-getting-random-row/
I've encountered with this problem several times in web development and every time found out that the best (in terms of performance) solution is to use some pseudo random approach (such as ">= random() limit 1" or "limit 1 offset random()*N" or even pre-caching rows on app side). On 10/9/07, Pavel Stehule <[EMAIL PROTECTED]> wrote: > > Hello > > I found lot of slow queries in some databases which I checked based on > advice 4.1. from FAQ, > > To SELECT a random row, use: > SELECT col > FROM tab > ORDER BY random() > LIMIT 1; > > It's robust and slow on bigger tables. Can we add some better solutions? > -- Best regards, Nikolay