[snip]
> The way to
> enhance this is by selecting an indexed value, such as the following
> where `foo` is indexed
> 
> SELECT `foo` FROM fortunes ORDER BY RAND() LIMIT 1

Why does this help?  From the MySQL book I have, the reason ORDER BY
RAND() is slow is because "for each record in the table a random number
must be generated.  Then all random numbers are sorted so that the first
n records can be returned.

Is this correct?  If so, how does selecting an indexed column help this,
won't it still need to perform all those operations (generate rand-nums,
then sort) regardless of the index?
[/snip]

Using indexes for selection criteria does have an impact, even with
RAND. On a table such as yours it shouldn't matter due to the small
size. 

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to