in your example we mush fnow quantity of records

TAL> select X from Y where int(rand()*50000) = 1 limit 1
                                      ^here
it is not faster way :(


>>
>> I have big table (50 000 records, 100 Mb), and want to get 1 random
>> record from it.
>> 
>> CREATE TABLE news (
>>   id int(10) unsigned NOT NULL auto_increment,
>>   description varchar(255) NOT NULL default '',
>>   PRIMARY KEY  (id)
>> ) TYPE=MyISAM PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1;
>> 
>> 
>> $max_id='SELECT MAX(id) FROM news';
>> $id = int(rand()*$max_id+1);
>> 'SELECT description WHERE ID='.$id;
>> 
>> it's vary slow way. May be somebody have better idia?
>> I use MySQL 3.23


  

С уважением,
Монашёв Михаил, SoftSearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.

  • ... Rudy Lippan
    • ... Монашёв Михаил
      • ... Michael A Chase
        • ... Монашёв Михаил
      • ... Thomas A. Lowery
        • ... Монашёв Михаил
        • ... Ronald J Kimball

Reply via email to