Расчет места в рейтинге PHP
Необходимо 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-го.
Указывайте срок и цену, чтобы я мог вас принять.