Как предотвратить загрузку большой HTML-таблицы при каждом посещении сайта?(Используя datatables, плагин jQuery) - PullRequest
0 голосов
/ 24 августа 2011

Я разрабатываю CRUD для внутреннего инструмента и использую DataTables (плагин jQuery, который помогает обрабатывать таблицы HTML), чтобы отображать список элементов каждой строки вместе с параметрами просмотра, редактирования и удаления. Таблицы содержат около 4000 строк, а время загрузки составляет около 7 секунд. Я попробовал обработку на стороне сервера и не получил почти никаких улучшений, я также установил

table-layout: fixed; 

и это тоже не помогло.

Проблема заключается в том, что после нажатия кнопки «Просмотр / редактирование» и возврата к таблице происходит повторная загрузка, которая занимает 7 секунд.

В решении, о котором я думаю, только первая загрузка занимает эти 7 секунд, а затем должна загружаться мгновенно. (Я предоставлю возможность обновления в случае, если пользователь хочет увидеть какие-либо изменения). Проблема в том, что я не знаю, как это сделать.

Если вы думаете, что моя идея хороша, можете ли вы помочь мне с решением? если нет, то что мне делать?

PS: 7-секундное время загрузки для таблицы на 4000 строк звучит правильно? или я что-то не так делаю?

PS2: я занимаюсь разработкой с использованием PHP и без фреймворка.

Большое спасибо за помощь!

UPDATE:

Я частично решил проблему, для отображения больших таблиц я использовал Отложенный рендеринг , который быстро работает при освещении! НО я не знаю, как хранить ссылки в массиве aaData DataTables (я не знаю, возможно ли это вообще, если это возможно, дайте мне знать). С другой стороны, то, что действительно вызывало замедление рендеринга таблицы, было то, что у меня было 3 кнопки для каждой строки (View / Edit / Delete), поэтому я удалил их, и я использую только ссылку просмотра, теперь таблица загружается примерно 2 секунды.

1 Ответ

0 голосов
/ 24 августа 2011

Ограничьте количество строк 10-25-50-100-500-1000-2000-4000 на страницу. Поэтому, если пользователь хочет просмотреть все результаты, пусть он сам выбирает, сколько он / она хочет отобразить. (что-то похожее на систему stackoverflow)

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