Здравствуйте, когда пользователь листает страницы, то для пагинации каждый раз снова и снова идёт подсчет всех постов, но ведь значение то всегда одно и тоже. Но можно было бы сделать только один запрос подсчета и его занести например в get переменную.
То есть при пагинации url был бы такого вида: site.ru/posts/all?page=4&totalCount=255
Если totalCount пуст, то считаем кол-во постов, если нет, берём это значение и формируем ссылки для пагинации.
У меня прост выборка с несколькими условиями, записей много, пагинация на каждом шагу, снизило бы нагрузку наверно
разовый подсчёт кол-ва всех записей
Re: разовый подсчёт кол-ва всех записей
а если я вручную поменяю totalcount на 25?
Re: разовый подсчёт кол-ва всех записей
А что будет? Пользователь навредит ведь только самому себе, нет? Получит неверную панель пагинации
Последний раз редактировалось Еугений 2016.02.24, 09:49, всего редактировалось 1 раз.
Re: разовый подсчёт кол-ва всех записей
А сейчас нагрузка какая? Сколько миллисекунд на запрос с COUNT(*)
Re: разовый подсчёт кол-ва всех записей
Примерно столько, сколько и сам запрос select. Так то немного, до 0.3 сек, в зависимости от запроса.
Re: разовый подсчёт кол-ва всех записей
Тогда закешируйте свой запрос $query->count() и передайте результат провайдеру.