выборка

Date: марта 22, 2010
Cate: MySQL
1 msg

Выборка случайных значений из таблицыо

Столкнулся с проблемой выборки случайных значений из таблицы.

SELECT * FROM tTable ORDER BY RAND() LIMIT 10;

не подходит, так как при большем количестве записей в БД запрос вызывает высокую нагрузку. Поискав в интернете нашел решение:

$row_count = mysql_result(mysql_query('SELECT COUNT(*) FROM tTable;'), 0);
$query = array();
while (count($query) < 10) {
$query[] = '(SELECT * FROM tTable LIMIT '.rand(, $row_count).', 1)';
}
$query = implode(' UNION ', $query);
$res = mysql_query($query);

 9fce13c8-2714-4603-b8e7-33be6c785d58