Вывожу через View статьи (постраничный вывод, на одной странице 20 статей). При малом количестве статей все нормально, но решил проверить как отразится на производительности большое количество статей.
Для эксперимента забил через скрипт в базу 1КК статей и попробовал отобразить первую страницу.... Как же долго я ждал
Я конечно понимаю, что ему нужно выполнить SELECT COUNT(*) FROM QUERY для того, чтобы показать общее количество статей и построить правильную ссылку на последнюю страницу. Но мне не нужна ссылка на 15267 страницу.
Простой выход из данной ситуации я увидел в том, что можно просто вывести 20 статей на странице(не подсчитывая COUNT(*)) и показать ссылку на следующие 20. Вроде в настройках view это можно настроить (Mini Pager), вот только эффекта от этого нет (видимо он все равно подсчитывает COUNT(*)).
Если показывать первые 20 записей без pager'a - то все работает моментально.
Поэтому вопрос - как можно быстро показать первые 20,50,100 записей (не подсчитывая общее количество), но показать ссылки на следующие/предыдущие страницы?
Или придется писать самому с помощью модуля?
ЗЫ:
СУБД - PostgreSQL 9.0
Drupal 7 dev