Выборка случайных значений из таблицыо
Столкнулся с проблемой выборки случайных значений из таблицы.
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);