Огромные данные в списке (таблица) - PullRequest
1 голос
/ 03 апреля 2012

Я хочу показать список (Таблица) с почти 20 миллионами строк.Как я могу это сделать, с меньшим использованием памяти и не позволяя моему серверу умереть (перестать отвечать) при этом.

Даже если у вас есть какие-либо теоретические идеи, пожалуйста, поделитесь (я постараюсь реализовать).Нужно решение очень срочно.

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

Спасибо, С уважением, Аман

Ответы [ 4 ]

3 голосов
/ 03 апреля 2012

Почему бы просто не получить первые 100 записей, а затем, когда клиент прокрутит до конца, вы добавите еще 100 записей и т. Д.

1 голос
/ 05 апреля 2012

Может быть, вы могли бы подождать новую функцию ZK.Справочник http://books.zkoss.org/wiki/Small_Talks/2012/March/Handling_a_Trillion_Data_Using_ZK

0 голосов
/ 05 апреля 2012

Выполнение разбивки на страницы для значений таблицы и получение определенного количества записей по требованию.

Использование позволяет использовать вставку dataTable для создания нумерации страниц для записей данных.

Обратите внимание, что вы можете извлекать данные синхронно и асинхронно с помощью этой библиотеки

0 голосов
/ 04 апреля 2012

Вы можете использовать http://books.zkoss.org/wiki/ZK Справочник разработчика / MVC / View / Renderer / Listbox Renderer .

public void render(Listitem listitem, Object data, int index)

Для начала вы можете реализовать рендер таким образом, чтобы получить элементдля рендеринга из источника данных под рукой по индексу из метода рендеринга.Вы можете использовать стандартный кеш (если Hibernate на месте) или пользовательский, если это не так (смотрите также EhCache ).

@ Решение Erik действительно быстро внедрить.Чтобы добавить, вы можете сделать кнопку, чтобы пользователь знал, что загрузка большего количества записей будет стоить некоторое время, и подумал бы, действительно ли нужно загружать больше.Прокрутка может привести к тому, что список будет просто зависать на мгновение.

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

...