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

mysql:6425

From: Tomoyuki Ishino <Tomoyuki Ishino <ishino@xxxxxxxxxx>>
Date: Mon, 14 Oct 2002 00:05:44 +0900
Subject: [mysql 06425] Re: servlet では order by rand() ができない?

石野です。こんばんは。

* [mysql 06424] Re: servlet では order by rand()ができない?
> 
> データ数が少なかったため、断定を避けていたのですが、不適切でした。コマンドラ
> インから発行するクエリは確実に動作します。

これ、毎回新しい接続で試されてるんでしょうか?
少なくとも手元の環境(mysql 3.23.52-max-nt)ではrand()は
同一接続内でしか、あまりうまいこといかないみたいです。
(データ量にもよるかもしれません。)

・PHPではmysql_pconnect()を使用する。
・Javaではコネクションプーリングを利用する。

または

・rand()の引数に適当な値を指定する。
(PHPなら
  srand((double)microtime() * 1000000);
  $randval = rand() * rand();
  $sql = "select * from tableName order by rand( $randval ) limit 1;";
  みたいに..)

とかされてみたらどうでしょうか。
レコード数わずか10件程度のテーブルでしか試してませんが、
これでそこそこうまくいくようです。

---
Tomoyuki ISHINO



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

      6339 2002-10-07 06:20 ["城" <sora_iro@xxxxx] servlet では order by rand() ができない?
      6343 2002-10-07 18:27 ┣["Takashi Yamashita" ]                                       
      6344 2002-10-07 18:30 ┃┗["Takashi Yamashita" ]                                     
      6347 2002-10-07 19:44 ┃ ┗["城" <sora_iro@xxxxx]                                   
      6348 2002-10-07 21:17 ┃  ┣["Takashi Yamashita" ]                                 
      6350 2002-10-07 22:25 ┃  ┗[Satoshi Komori <sato]                                 
      6352 2002-10-08 07:12 ┃   ┗["城" <sora_iro@xxxxx]                               
      6353 2002-10-08 12:06 ┃    ┗[Takeyuki Miyagawa <m]                             
      6361 2002-10-08 17:54 ┃     ┗["城" <sora_iro@xxxxx]                           
      6362 2002-10-08 18:15 ┃      ┗["kosugi" <kosugi@xxx]                         
      6346 2002-10-07 19:05 ┣["kosugi" <kosugi@xxx]                                       
      6349 2002-10-07 21:26 ┣["Takashi Yamashita" ]                                       
      6363 2002-10-08 18:59 ┣[<rio-t@xxxxxxxxxx>  ]                                       
      6380 2002-10-09 21:42 ┃┗["城" <sora_iro@xxxxx]                                     
      6382 2002-10-09 22:58 ┗["小川 修" <shuogawa]                                       
      6392 2002-10-10 13:17  ┗["kosugi" <kosugi@xxx]                                     
      6424 2002-10-13 00:28   ┗["shuogawa" <shuogawa]                                   
->    6425 2002-10-14 00:05    ┗[Tomoyuki Ishino <ish]