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

mysql:10661

From: <ml_mysql@xxxxxxxxxx>
Date: Wed, 15 Dec 2004 16:24:27 +0900
Subject: [mysql 10661] Re: SELECT でランダムにレコードを得る方法(再)

渡邊 さん RES 有り難うございます。


At 15:28 04/12/15, you wrote:
 >渡邊と申します。
 >
 >Mysql 4.0.20で、コンソールで実験した範囲では、毎回全く違う数字の列が
 >出てきました。

私も、コンソールでやってみたところ、全く違う数字の列が出てきました。
これならOKです。

うーーん どこかでキャッシュされているみたいですね。

 >
 >さて、石川さんの環境はどういう環境でしょうか。
 >mysqlのバージョン、サーバの種類、サーバクライアント型の接続なのか、
 >だとしたらクライアントは別機械か
 >別の機械なら、その上で動作させているクライアントソフトは何か、
 >または何で作った物か 等で、結果が違うかもしれません。
 >

 >Server:Redhat Linux 9.0
 >Mysql: version 3.23.54
 >接続:local
 >Client:Perl

でテストしています。

うまくいけば、現在稼働中のサーバー
 >Server:Redhat Linux 3.0ES
 >Mysql: version 3.23.58
 >接続:local
 >Client:Perl

に移すつもりです。


 >たとえば、私は
 >Server:FreeBSD
 >Mysql:4.0.20
 >接続:local
 >Client:mysql
 >という環境で試したのですが
 >
 >これがたとえば
 >接続:LAN
 >Client: Perlスクリプト
 >とかになると、
 >ちょっと違った話になると思います。
 >たとえば、賢いDBフロントエンドなら、DBへのアクセスをキャッシュして
 >同じqueryならキャッシュを返すということをしてもおかしく有りません。
 >
 >また、Perl等では一度クエリーを実行すると、クエリーの結果を
 >一括して取り込むということも行いますから、
 >消さずにもう一度クエリーを実行すると、同じ結果を返すことがあるかもしれません。
 >
 >とりあえず、試しに、クエリーをちょっと変えて試してみては
 >いかがでしょうか。

クエリーを
SELECT a,b,c,d FROM table WHERE b="hogehoge" ORDER BY RAND()

と換えましたが、
最初の2レコードは、同じ順序でした。

PERLは 
Perl version 5.8.0 です。

よろしくお願いします。






 >
 >ml_mysql@xxxxxxxxxx wrote:
 >
 >> 石川と言います。
 >>
 >> 以前以下のように、ご質問し、
 >>
 >>  >SELECT a,b,c FROM table WHERE b="hogehoge" ORDER BY RAND()
 >>
 >> と、ご教示頂き、
 >> ようやく、ソフトもできあがりましたので、テストを始めました。
 >>
 >> 結果は、レコードの取り出し順が、
 >>
 >> a の値を表示(インクリメントのレコード番号です)
 >##中略
 >> と 似通っております、(最初の2件はいつも同じ順序で取り出されます)。
 >>
 >>
 >> PERLで言う srand のようなもののセットができるのでしょうか?
 >>
 >> プログラムを走るたびに、ランダムな順序で、レコードがほしいものですから。
 >>
 >> よろしくご教示ください。
 >
 >_______________________________________
 >渡邊昌之
 >mark@xxxxxxxxxx
 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 


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

     10570 2004-11-30 17:35 [<ml_mysql@xxxxxxxxxx] SELECT でランダムにレコードを得る方法   
     10571 2004-11-30 17:40 ┣[遠藤 俊裕 <endo@xxxx]                                       
     10572 2004-11-30 18:13 ┃┗[<ml_mysql@xxxxxxxxxx]                                     
     10573 2004-11-30 18:29 ┃ ┣["waya" <wayama@xxxxx]                                   
     10574 2004-11-30 18:31 ┃ ┣[遠藤 俊裕 <endo@xxxx]                                   
     10577 2004-11-30 22:31 ┃ ┃┗[<ml_mysql@xxxxxxxxxx]                                 
     10575 2004-11-30 18:31 ┃ ┗[Seiichi YANAI <yanai]                                   
     10576 2004-11-30 20:48 ┣[Daiju <d.is.here@xxx]                                       
     10659 2004-12-15 14:56 ┗[<ml_mysql@xxxxxxxxxx] Re: SELECT でランダムにレコードを得る方法(再)
     10660 2004-12-15 15:28  ┗[渡邊昌之 <mark@xxxxx]                                     
->   10661 2004-12-15 16:24   ┗[<ml_mysql@xxxxxxxxxx]                                   
     10662 2004-12-15 16:55    ┣[SUGAWARA Hajime <sug]                                 
     10669 2004-12-15 20:20    ┃┗[<ml_mysql@xxxxxxxxxx]                               
     10663 2004-12-15 17:01    ┗[渡邊昌之 <mark@xxxxx]