Вот тут решение проблемы: /ru/forum/comment/10080098
Да оно уже сейчас выполняется доли секунды. Опять же говорю сейчас проблема лишь как быстро считать все ID из категории 1 раз и всё.
Была бы статичная Таблица, то можно было бы сделать. А так то данные меняются автоматически.
Это уже мелочь не важная. Тут самый прикол как быстро получить список всех ID в нужной категории.
Про какую именно сортировку вы имеете ввиду? То что она в PHP проходит?
Индекс базы 15КБ, поэтому дамб весь помещается.
Не понимаю суть данной функции и чем она быстрее. Учитывая, что код идёт сверху вниз, в любом случаи пока не будет обработан и забит массив, код дальше не пойдёт выполняться. В чём смысл?---------- Добавлено 24.02.2012 в 02:27 ----------
Ну что я могу поделать? Вас поздравляю, у меня всё по другому и всё работает медленее. Возможно зависит от настроек или же серверной машины.
Для СЧ и НЧ запросов актуальны, особенно в регионах.
Про ВЧ можно даже не мечтать, лишь так подтянуть хвосты, но это сделается автоматически при начале продвижения и покупкой ссылок.
А так на войне все средства хороши.
Правильно, таблица то обновляется 1 раз в час и всё. Более она не трогается вовсе. 1 раз попала в кэш и забыли про неё.---------- Добавлено 24.02.2012 в 01:43 ----------
Да какая разница? Это нужно count вводить. А толку то? ну будет выполняться на доли секунды меньше и всё. PHP же в памяти выполняется.
Чуть поправленный, чтобы уж люди тоже могли юзать:
$pages=intval($_GET['p']);$nums=$pages-1; if ($nums<0) $nums=0; //Считываем номер запрашиваемой страницы $result=mysql_query("SELECT id FROM `cms_freepages` WHERE cat=14 ORDER BY ID"); // Берём данные из категории cat=14 while ($rowclubs = @mysql_fetch_array($result)) { $arrayid[]=$rowclubs['id']; } $cnt=sizeof($arrayid); //Количество для функции постраничного вывода $newmass=array_chunk(array_reverse($arrayid),25); //25 = сколько записей выводить на странице $sql = mysql_query('SELECT * FROM `cms_freepages` WHERE id in ('.implode(',',$newmass[$nums]).') ORDER BY ID DESC'); while ($rowclubs = @mysql_fetch_array($sql)) { # Вывод данных }
Нет, в комментах я делаю по другому, просто вбиваю весь результат в PHP и уже там разбиваю. Там большой бич, это многоуровневые комменты, поэтому это пока оптимальный вариант.
У сайта кэша нет. У меня там более 600 страниц в каждой категории я могу тыкать сколько угодна.
Я просто мускуль перезагрузил :)
Но по млин, визуально даже мой код быстрее работает. Скорее всего сказывается то, что ID категорий плотно зависает в индексе мускуля.
Я в Казахстане, тут ещё всё прикольнее, учитывая, что обменники только частные и у меня все переводы (вывод) значатся как внутренний перевод с одного частного счёта на другой. А за что этот перевод и т.п. никого не волнует :)