Расчет места в рейтинге PHP

Евгений21 рік у сервісі
Дані замовника будуть вам доступні після подання заявки
16.10.2008

Необходимо 1 раз в час расчитывать место программы в рейтингах по просмотрам и скачиваниям.

Программ более 10 тыс.

Есть код:

$result = mysql_query("SELECT prog_id, thits, tdloads FROM soft WHERE thits > 10 ORDER BY prog_id") or error(mysql_error());

while($row = mysql_fetch_array ($result))

{

$thits=$row['thits'];

$tdloads=$row['tdloads'];

$prog_id=$row['prog_id'];

$result2 = mysql_query("SELECT COUNT(prog_id) as counter FROM soft WHERE (thits > '$thits') OR (thits = '$thits' AND prog_id

$row2 = mysql_fetch_array ($result2);

$top_place_hits=$row2['counter'] + 1;

$result2 = mysql_query("SELECT COUNT(prog_id) as counter FROM soft WHERE (tdloads > '$tdloads') OR (tdloads = '$tdloads' AND prog_id

$row2 = mysql_fetch_array ($result2);

$top_place_dloads=$row2['counter'] + 1;

}

Он работает 220 сек. и увеличивает нагрузку на ЦП сервера на 80%!

Нужен гораздо более легкий вариант.

Возможно, в целях экономии ресурсов, не считать места ниже 100-го.

Указывайте срок и цену, чтобы я мог вас принять.