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/
Без бэкапа по жизни.