Solution: In No Particular Order…
The sort-by-random technique is an example of a query that’s bound to perform a table scan and an expensive manual sort. When you design solutions in SQL, you should be on the lookout for inefficient queries like this. Instead of searching fruitlessly for a way to optimize an unoptimizable query, rethink your approach. You can use the alternative techniques shown in the following sections to query a random row from a query result set. In different circumstances, each of these solutions can produce the same result with greater efficiency.
Choose a Random Key Value Between 1 and MAX
One technique that avoids sorting the table is to choose a random value between 1 and the greatest primary key value.
| Random/soln/rand-1-to-max.sql ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access