Использование will_paginate без: total_entries для улучшения длинного запроса
У меня есть текущая реализацияwill_paginate который используетpaginate_by_sql Метод создания коллекции для нумерации страниц. У нас есть пользовательский запрос дляtotal_entries это очень сложно и создает большую нагрузку на нашу БД. Поэтому мы хотели бы полностью исключить total_entries из нумерации страниц.
Другими словами, вместо обычного отображения нумерации страниц «предыдущий 1 [2] 3 4 5 следующий» нам просто нужна кнопка «следующий - предыдущий». Но нам нужно знать несколько вещей.
Отображаем ли мы предыдущую ссылку? Конечно, это произойдет только в том случае, если записи, существующие до тех, которые отображаются в текущем выделенииМы показываем следующую ссылку? Это не будет отображаться, если отображается последняя запись в коллекцииЗапрос на подсчет строк будет сгенерирован автоматически, если вы не укажете: total_entries. Если у вас возникли проблемы с этим сгенерированным SQL, вы можете выполнить подсчет вручную в своем приложении.
Итак, в конечном итоге идеальная ситуация заключается в следующем.
Удалите счетчик total_entries, потому что он вызывает слишком большую нагрузку на базу данныхОтображать 50 записей одновременно с полупагинацией, используя только кнопки «следующий / предыдущий» для навигации и не требуя отображения всех доступных номеров страницОтображать только следующую кнопку и предыдущую кнопку соответственноКто-нибудь работал с подобной проблемой или есть мысли по поводу разрешения?