[Moscow.pm] Постраничный вывод (Pagination)

Alessandro Gorohovski angel на domashka.kiev.ua
Пн Апр 23 22:28:32 PDT 2012


Alexandr Alexeev <afiskon на gmail.com> писал(а) в своём письме Tue, 24 Apr  
2012 04:46:25 +0300:

Александр, Премного благодарен.
:)


> Я Paginator::Lite использовал, работает.
>
> Хочу только обратить внимание на возможную проблему производительности.
> Если у вас 1 млн элементов, которые вы разбиваете на 100 000 страниц по  
> 10
> элементов, то ваш сайтик может ощутимо тормозить за счет LIMIT-запросов.
> Эффективнее писать "Перейти к следующей/предыдущей странице", используя  
> для
> выборки primary key или иное проиндексированное поле первого элемента
> выборки. Тогда ваши запросы превращаются в быстрые SELECT ... WHERE key  
> >=
> $key LIMIT 10

Согласен.
Но у меня случай перекрестным объединением пяти таблиц (там используется   
примерно 6 - 7 условий)
и простым PRIMARY KEY не отделаешься.
:(

> Кстати, может кто-нибудь пробовал оптимизировать такие запросы? Удавалось
> найти хорошее решение? Ну, например, если данные обновляются редко, можно
> раз в сутки рассчитывать по крону, на какой странице какие элементы
> отображать.
>

<кусь>


Подробная информация о списке рассылки Moscow-pm