Просмотр поста

.
Krite
dakilla (04.12.2010/20:11)
Krite, дaвaй koлиcь kak eщe быcтрей рaндoмный вывод сделать
как вариант можно так
$limit = 2;
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `test`;"), 0);
$list = ceil($count / $limit) - 1;
$asc = 'ORDER BY `id` ASC';
$desc = 'ORDER BY `id` DESC';
$array = array($asc, $desc);
shuffle($array);
$start = mt_rand(0, $list);
$q = mysql_query("SELECT `name` FROM `test` $array LIMIT $start, $limit");
while($row = mysql_fetch_assoc($q)) {
	echo $row['name'] . '<br />';
}

скорость генерации при 1000000 записей составляет примерно 0,03-0,05c.
для сравнения ORDER BY RAND() 10-11 секунд при тех же 1000000 записей