Оптимизировать скрипт запроса к базе

Алексей14 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
15.01.2011

Пользуюсь данным скриптом для вывода случайных роликов из базы mysql (почему не order by rand, потому что база огромная и поле id_video с дырками.)

сайт имеет 70000 хостов в сутки, поэтому 70000 раз идёт одинаковый запрос к базе SELECT id_video FROM video; и потом все id_video собираются всегда в одинаковый массив. можно как-то избавиться от этого нелепого повторения?

// ------

$res = mysql_query("SELECT id_video FROM video;");

$ids = $idRN = array();

//собираем ID в один массив

while ($row = mysql_fetch_array($res)) $ids[] = $row[0];

//выберем N случайных из них

$K = 30;

while ($K-- > 0 && count($ids)) {

$RN = rand(0, count($ids) - 1);

$idRN[] = $ids[$RN];

unset($ids[$RN]);

}

//делаем ещё один запрос уже для выборки самих данных

$query_r_v = mysql_query("SELECT * FROM video WHERE id_video in (" .implode(',', $idRN). ");");

// -------

Заявки фрилансеров