100万件を越えるレコードを持つemployee表から10件のレコードをランダムに取得するSQLは以下。
SELECT * FROM employee SAMPLE(5) WHERE ROWNUM <= 10;
(※全体レコードから 5% をランダムに抽出し、その中から10件を表示しています)
100万件を越えるレコードから5つのサンプルを取得するのに SQL応答時間 : 0.015000秒 とかなり高速に動作します。
・副問合せに使用できない
・テーブルに別名を使用するとエラーになった 等
注意事項は多少あるみたいですが、色々な場面で使用できるのでは。