"Jeffrey D. Wheelhouse" wrote:
>
> SELECT @lines:=COUNT(id) FROM table;
> SET @rand=CEILING(RAND()*@lines);
> SELECT * FROM table WHERE (@rand:=@rand-1)+id=id;
Never mind on the "it doesn't work on my system" more like it didn't
work on my brain :) Works fine. And now that I ponder it a bit more
and I think I understand what it's doing I see the performance
implications.
Theoretically it could be as fast as Carsten's method couldn't it? If
it hit a record on the first shot? Otherwise it's pounding through an
index O(random-nearest_id) where his does it O(1). And could it
potentially loop infinitely?
--Steve
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php