[前][次][番号順一覧][スレッド一覧]

mysql:12481

From: jazzanova <jazzanova <jimibandrix@xxxxxxxxxx>>
Date: Fri, 18 Nov 2005 20:52:45 +0900
Subject: [mysql 12481] ランダムなデータ取得について

皆様初めまして。坂東と申します。

早速ですがお聞きしたい事があります。

例えば、あるテーブルからランダムに1行を選択する方法ですが、
select COL from TABLE_NAME order by rand() limit 1;
とすれば望む結果が得られますが、テーブルのサイズが大きくなればなるほど処理に時間がかかります。

また自分のブログで
set @id = floor(rand()*n)+1;
select COL from TABLE_NAME where id = @id;
と言う方法を提示しましたが、これだとidに欠番があったりした場合には使えないと言う欠点が。

これらを上手く解決する手段を教えて頂けたらと思います。

[前][次][番号順一覧][スレッド一覧]

->   12481 2005-11-18 20:52 [jazzanova <jimibandr] ランダムなデータ取得について            
     12506 2005-11-23 09:08 ┗[Shinya Kawaji <kawaj]