За последние 24 часа нас посетили 19790 программистов и 1640 роботов. Сейчас ищут 2002 программиста ...

TOP лист и его оптимизация.

Тема в разделе "PHP и базы данных", создана пользователем animen, 26 июл 2011.

  1. animen

    animen Активный пользователь

    С нами с:
    27 янв 2010
    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте.

    Ранее делал топ лист пользователей.
    Такой код, на всякий случай:

    Код (Text):
    1.  
    2.  
    3.  
    4. $query="SELECT Name FROM users WHERE `param1` != 1 AND param2 != 950 ORDER BY param3 DESC,param4 DESC,param5 DESC,param6 ASC LIMIT 0,100";
    5.    $res=mysql_query($query);
    6.    //while ($row=mysql_fetch_array($res)) $DATA[++$start]=$row;
    7.    
    8.    
    9.        echo "<center>";
    10.     echo "<table border='1'>
    11.     <tr>
    12.     <th>Место</th>
    13.     <th>Ник</th>
    14.     </tr>";
    15.    
    16. $counter=0;
    17. while($row=mysql_fetch_array($res))
    18. {
    19.   $counter++;
    20.   echo "<tr>";
    21.   echo "<td>{$counter}</td>";
    22.   echo "<td>" . $row['Name'] . "</td>";
    23.   echo "</tr>";
    24.  
    25. }
    26.     echo "</table>";
    27.     echo "</center>";

    А сейчас решил заняться его оптимизацией. Сейчас при каждом просмотре топ листа инфа собирается в реальном времени по всем аккаунтом пользователей, более 20000 записей. Ну не думаю что это хороший вариант. Вот, в итоге хочется сделать чтоб-бы топ лист обновлялся только раз в сутки и выдавал эту информацию.
    Как лучше сделать это? Были варианты полученную информацию собирать в файл и выводить из него потом.
    Так же думал сперва собирать инфу в отдельную таблицу раз в сутки, а потом уже с той таблицы выводить.
    Но хочется послушать все таки советы, как лучше сделать. Может есть более грамотный и разумный вариант.