У меня есть массив с более чем 10k результатами (сгенерированный MySQL-запросом), и мне интересно, что лучше всего подходит для его разбиения на страницы? Извлеките все данные сначала, затем разделите их на страницы или еще один быстрый/лучший способ?Большие массивы массивов PHP
ответ
Используйте синтаксис MySQL LIMIT
, чтобы получать только нужные результаты из базы данных, прежде чем он достигнет вашего PHP-кода.
Что-то вроде этого:
$offset = 0;
$per_page = 25;
$query = "SELECT * FROM `blah` LIMIT $offset, $per_page";
...
Как было предложено, вы можете использовать LIMIT
. Для того, чтобы узнать общее количество результатов, можно дополнительно сделать:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` ... LIMIT 0, 20
Тогда:
SELECT FOUND_ROWS() AS `total_results`
Чтобы получить максимальное количество страниц вашего Paginator в.
http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/ Он говорит, что использование COUNT и SELECT снова с пределом быстрее. – Calmarius
Возможно, вы захотите выполнить запрос COUNT(), прежде чем потянуть свой контент, чтобы определить, сколько строк у вас есть. Общий algortihm для выяснения того, сколько страниц нужно тогда
CEIL (totalRows/rowsPerPage)
К дисплей пагинацию навигационные ссылки для этого много записей, рекомендуется использовать «логарифмическая» страницы навигации. Смотрите здесь:
How to do page navigation for many, many pages? Logarithmic page navigation
- 1. Тримерные массивы массивов PHP
- 2. Большие массивы в C
- 3. Массивы PHP и использование массивов
- 4. Объединить массивы массивов в PHP
- 5. CUDA большие массивы ввода
- 6. быстро создавать большие массивы в PHP
- 7. PHP: передать большие массивы данных по страницам
- 8. php json encode большие массивы усекаются
- 9. Большие массивы и идентификаторы
- 10. Большие массивы данныхТип строки
- 11. React.js сортировочные большие массивы
- 12. Как хранить большие массивы, для графов
- 13. Насколько эффективны большие массивы для эффективности?
- 14. Как массивы массивов imode в php?
- 15. mmaping большие файлы (для постоянных больших массивов)
- 16. Свернуть вложенные массивы массивов
- 17. Печать массивов, настройка массивы
- 18. Массивы массивов в JSON
- 19. хэши массивов хэшей Массивы
- 20. Массивы внутри массивов
- 21. Объединить массивы внутри массивов
- 22. Динамические массивы массивов
- 23. StackOverflow массивы массивов
- 24. Массивы и копирование массивов
- 25. Android - массивы массивов
- 26. Массивы массивов в CLIPS
- 27. Массивы/Списки массивов
- 28. массивы массивов в cython
- 29. эффективно использовать большие массивы в C
- 30. большие массивы в зависимых наблюдаемых - каскадные
Вы можете сделать это в связке с MySQLs 'limit' и' offset' методами. –
см. Эту основную статью подкачки http://www.phpfreaks.com/tutorial/basic-pagination –