Итак, какова наилучшая практика, когда дело доходит до разбивки на страницы в mysql. Позвольте мне сделать это более ясным, допустим, что в данное время у меня 2000 записей, и есть больше вставленных. И я показываю 25 за раз, я знаю, что мне нужно использовать лимит для разбивки по страницам. Но что я должен делать для общего количества моих записей? Я рассчитываю записи каждый раз, когда пользователи нажимают, чтобы запросить следующие 25 записей. Пожалуйста, не говорите мне ответ прямо, а скорее укажите мне в правильном направлении. Благодаря!Производительность запросов MySQL для разбивки на страницы
ответ
Простейшим решением было бы просто продолжить работу с результирующим набором, как только будут вставлены новые записи. Предположительно, каждая страница отображать будет использовать запрос ищет что-то вроде следующего:
SELECT *
FROM yourTable
ORDER BY someCol
LIMIT 25
OFFSET 100
Как страницы пользователя вперед и назад, если новые данные должны были прийти в возможно, что страница может измениться от того, что это было ранее. С логической точки зрения это не так уж плохо. Например, если у вас был алфавитный список продуктов и появился новый продукт, пользователь получил бы эту информацию довольно неплохо.
Что касается подсчета, ваш код может позволить перейти на следующую страницу, пока данные будут поддерживаться для добавления новой страницы. Добавление новых записей может означать большее количество страниц, необходимых для покрытия всей таблицы, но это не должно влиять на вашу логику, используемую для определения того, когда прекращать разрешать страницы.
Если в вашей таблице есть столбец даты или времени, представляющий, когда была добавлена запись, вы можете фактически ограничить весь результирующий набор до моментального снимка во времени. В этом случае вы можете предотвратить ввод новых данных за определенный сеанс.
3 precgestions 1. Только обновление сетки данных при нажатии следующей кнопки с помощью ajax (или) сохранения счетчика в сеансе для выбранных параметров поиска. 2. Используя расширенный memcache, он может быть доступен для всех пользователей. Создайте уникальный ключ на основе параметров фильтра и сохраните счетчик. Таким образом, вы не попадете в базу данных. Когда новая запись добавляется, вам необходимо очистить существующий ключ memcache. Для этого требуется запуск memache. 3. Создайте индексирование, и если вы нажмете дБ для получения счета в одиночку. Не будет никакого влияния на производительность.
- 1. Производительность Documentdb при использовании разбивки на страницы
- 2. Страницы для разбивки на страницы для шва?
- 3. Laravel - обработка запросов ввода для глобальной разбивки на страницы
- 4. Memcache для разбивки на страницы
- 5. MySQL производительность запросов
- 6. Второй счетный запрос для разбивки на страницы
- 7. Производительность запросов пересечения Mysql
- 8. Производительность запросов MySQL SELECT
- 9. сохранение разбивки на страницы
- 10. Данные разбивки на страницы
- 11. Медленная производительность запросов MySQL
- 12. MySQL повысить производительность запросов
- 13. Форматирование разбивки на страницы
- 14. Создание разбивки на страницы
- 15. Ошибка разбивки на страницы
- 16. Опасность разбивки на страницы
- 17. Стратегия разбивки на страницы
- 18. Ошибка PHP MSSQL для разбивки на страницы
- 19. Django 1.4 - Отслеживание нескольких запросов и разбивки на страницы
- 20. Laravel jQuery - Фильтры для разбивки на страницы и товары, URL для разбивки на страницы
- 21. Ссылки для разбивки на страницы не работают
- 22. чистые инструменты для разбивки на страницы django
- 23. Значение переменной PHP для разбивки на страницы
- 24. Как создать фотографии для разбивки на страницы?
- 25. Kimono Regular Выражения для разбивки на страницы
- 26. Codeigniter count_all для разбивки на страницы
- 27. css ссылок для разбивки на страницы
- 28. Создание окна WPF для разбивки на страницы
- 29. Исправлена таблица данных для разбивки на страницы
- 30. JQuery выбор li для разбивки на страницы
Спасибо! Но меня больше беспокоит производительность. Должен ли я каждый раз читать? Как это делают крупные компании. Я не думаю, что они подсчитывают каждый раз, когда пользователи переходят на следующую страницу! – Jonathan
@ Джонатан Вам даже не нужно подсчитывать AFAIK. Просто выберите размер страницы и попробуйте выполнить запрос. Когда вы ничего не получите, вы знаете, что вы превысили размер стола. В любом случае, как вы указали, размер таблицы постоянно меняется. –
Это правда, но как показать пользователям, как страницы могут смотреть на них? – Jonathan