Как эффективно показывать отчеты и таблицы для огромного набора данных в laravel? - PullRequest
0 голосов
/ 18 декабря 2018

Раньше я использовал Datatables для отчетов на своем веб-сайте, который в настоящее время имеет дело с 3-4 таблицами, каждая из которых содержит от 3 до 4 тысяч записей.Доступный для обработки данных на стороне клиента или на стороне сервера, или даже когда служба работала немного медленнее, чтобы рендерить записи в DOM, также нажатие на страницы с разбиением на страницы заняло почти столько же времени, сколько потребовалось для загрузки страницы.Поэтому я перешел на lagvel paginator, который поставляется по умолчанию, хотя ему не хватает гибкости, которую предоставляют таблицы данных, я реализовал свой собственный поиск по ajax для его выполнения.Я хочу понять, какие еще способы используют разработчики для отображения отчетов в виде табличной структуры, в которой могут быть данные за последние 4-5 лет и скорость страницы будет хорошей.Я реализовал готовую загрузку, чтобы улучшить скорость, которая работала, но не до такой степени.

1 Ответ

0 голосов
/ 18 декабря 2018

Если вы не совершите огромную ошибку на внешней и внутренней стороне, например, загрузите все данные за один раз и разбите их на страницы в DOM, основная проблема, как правило, связана с дизайном базы данных и запросами.Конечно, возможности вашего сервера, включая ЦП, ОЗУ и т. Д., Чрезвычайно важны.

От 3 до 4 таблиц с записями от 3 до 4 КБ

Этот объем данныхдействительно маленький, вероятно, вы решите свою проблему, когда вы проверите свои индексы .Если это все еще будет медленным, попробуйте использовать одну из систем cache , которую предоставляет Laravel.

Когда вы достигаете миллионов данных, вы можете воспользоваться некоторыми высокоуровневыми решениями, такими как шардинг базы данных , упругий поиск , балансировка нагрузки , микросервисы ...

Это огромный вопрос, но вы можетеначать с этой темы .И не забывайте, что у каждого типа базы данных есть свои особенности и решения.

Я реализовал готовую загрузку, чтобы улучшить скорость, которая работала, но не до такой степени.

Также вы можете сравнить Laravel Eager Загрузка с Query Builder для производительности здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...