Приветствую.
Кто поможет оптимизировать запрос?
А то что-то страницу отгружает секунд 20.
[code] class Ranking {
public $rankarray = array();
private $rlastupdate;
public function getRank() {
return $this->rankarray;
}
public function getUserRank($id) {
$ranking = $this->getRank();
$users = "SELECT * FROM " . TB_PREFIX . "users";
$users2 = mysql_num_rows(mysql_query($users));
if(count($ranking) > 0) {
for($i=0;$i<=$users2;$i++) {
if( isset( $ranking[$i]['userid'] ) )
{
if($ranking[$i]['userid'] == $id && $ranking[$i] != "pad" {
$myrank = $i;
}
}
}
}
return $myrank;
}[/code]
Думаю, что дело не в запросах, раз 20 сек.
mapper, ну код смотрели уже и Mobiaaa, и некоторые другие кодеры.
Дело именно во вложенности, большом кол-ве строк и запросах
А хотя если здесь вывод пользователей без пагинации, то может быть, если юзеров много
mapper, пагинация идет на странице вывода, а это - общий класс.
Я не помню, писал ли в асе тебе
Там косяк, что выбираются все юзеры, и потом в циклах их туда/сюда гоняют
От чего поток в mysql катастрофический
Время на анализ надо, что и как
Либо кеш заводить, либо строить более сложные запросы union/join
Но нужен анализ и понимание работы данного участка кода
p.s. Когда ты мне писал я смотрел mysql статистику, видно как исполняется один и тот же запрос многократно (вытягиваются юзеры, что-то типа user_access > число)
Вот этот кусок надо найти и оптимизировать
Арессс, не сегодня точно
В выходные скорей всего
Mobiaaa, хорошо. Когда побеспокоить?