ランダムセレクション

ランダムにデータを抽出する際にorder by rand()を使うと、件数が多くなると遅いよ、というアンチパターンMySQLを使ったこともなければ、ランダムにデータを取り出すという要求もないので、知らなかったが、要は並び替えを常に行うので、遅いらしい。
で、ソートではなく、ランダム関数の戻り値を使って特定の値を引っ張ってくるか、アプリ側で頑張るかという対応がある。
本書の最後にも記述されていたが、ベンダー依存の統計関数であるtablesampleやsample関数などが使えれば、一番簡単なのだが。