2017-01-11 2 views
0

В настоящее время у меня есть таблица с клиентскими источниками с отдельными раскрывающимися списками столбцов, которые работают потрясающе. У меня около 1000 строк, и производительность отличная. Удивительный плагин jQuery. Задача: мой клиент просто сказал мне, что это может вырасти до 40000 в месяц. Мой клиент также сказал мне, что им действительно нравятся отдельные фильтры выбора в нижних колонтитулах, и я не могу их удалить. Поэтому меня беспокоит производительность. Смотрите здесь, если вы не знаете, о чем я говорю о том, когда я говорю, отдельные выберите фильтры:Производительность jQuery DataTables с отдельными фильтрами выбора столбцов и большим количеством строк

https://datatables.net/examples/api/multi_filter_select.html

я ковыряться, и я увидел пример здесь с помощью клиентской части и отложенный рендеринг:

https://datatables.net/extensions/scroller/examples/initialisation/large_js_source.html

Но проблема в том, что я не считаю, что могу использовать отсроченный рендеринг, так как клиент хочет, чтобы отдельные фильтры выбора столбцов. Я должен загрузить все данные для фильтров выбора, чтобы даже работать ...

Кто-нибудь знает, как я могу выполнить такое поведение отдельной фильтрации столбцов с хорошей скоростью при большом количестве строк или предложить разумные альтернатива? Я чувствую, что я достигаю ограничений программного обеспечения/браузера здесь ...

Спасибо!

Джулиан

ответ

0

40000 строк данных много, просто чтобы быть переданы с сервера в браузере. Это замедлит загрузку страницы.

Я бы выполнил фильтр на стороне сервера и вывел только первые (скажем, 1000) строк, поэтому они могут быть более управляемыми для браузера и сэкономить много полосы пропускания. Но это также означает больше JavaScript и SQL-кодирование.

+0

DataTables имеет [режим обработки на стороне сервера] (https://datatables.net/examples/server_side/simple.html), который может быть включен с помощью опции 'serverSide: true', которая является именно тем, что вы описываете. Это не требует дополнительного кодирования, если вы используете серверную библиотеку (имеются библиотеки с открытым исходным кодом, доступные для разных языков). –

+0

Да, но проблема заключается в индивидуальном выборе выпадающих фильтров для каждого столбца, как я уже упоминал. Клиент хочет этого, поэтому мне нужно загрузить все данные вперед, нет? – coolboyjules