こんにちは私はランダムな行を取得する方法を知っていますが、私は最適化された方法が必要です。各テーブルにランダムな行をより最適化された方法でデータベースから取得する方法
select * from ADM_USER where ADM_USER_ID=(select Round(dbms_random.value(1,max(ADM_USER_ID))) from ADM_USER)
を:私は私が使っていた.Iは、その前に
SELECT * FROM (SELECT * FROM ADM_USER ORDER BY dbms_random.value) WHERE rownum = 1;
を使用しています(任意のランダムな行のために、私はすべての列の値は、データベース間で一致するかどうかをチェックしています)、ランダムなレコードの検証をしています後者の問題は、ADM_USER_IDの値が連続していないことです。ほとんどの場合、クエリは空の結果セットを返します。最初のものは良いですが、大きな基数を持つテーブルの場合は6〜7秒です。
ありがとうございます。
「SELECT * FROM ADM_USER」ADM_USER_ID =(SELECT TOP 1 ADM_USER_ID FROM ADM_USER ORDER BY dbms_random.value);「 – artm
このMySQLまたはOracleですか? – mathguy
SELECT TOP(1)... ORDER BY NEWID() – Biscuits