Заполните большие данные из базы данных - PullRequest
0 голосов
/ 02 марта 2009

Я разработал трехуровневое приложение, и у меня возникла проблема с заполнением данных из базы данных. У моего приложения есть окно, которое запрашивает большие данные из базы данных, и этот процесс занимает очень много времени. (Мой клиент так далеко от сервера, и соединение между ним составляет 128 КБ / с).

Тогда я думаю о решении этой проблемы. Решением является заполнение x записей данных каждые y сек. (например: сначала введите 10 записей для отображения в пользовательском интерфейсе, а затем отображайте больше 10 строк каждые 5 секунд).

Это хорошее решение для решения этой проблемы? Есть ли лучший способ решить эту проблему?

Ответы [ 4 ]

2 голосов
/ 02 марта 2009

Если это для целей отображения, вы должны использовать пейджинг. Существует вариант этого, когда пользовательский интерфейс захватывает следующую «страницу» записей, когда пользователь пытается получить доступ к дополнительной информации с помощью полосы прокрутки. Если вам нужно объединить данные, сделайте это по запросу, чтобы все данные не проходили через сеть. Если вам действительно / абсолютно необходимо получить все данные и выполнить с ними какие-то процессы, подумайте, будет ли он слишком большим для загрузки сразу. В этом случае захватывает фрагменты данных, запускает связанные процессы, а затем захватывает другой фрагмент (и т. Д.). Независимо от этого, вам нужно сделать это с подходом, который не блокирует пользовательский интерфейс (потоки / асинхронные операции).

1 голос
/ 02 марта 2009

Фредди опередил меня, но в качестве примера вы заметите, что многие зрители базы данных заполняют только те данные, которые требуются в поле обзора, поскольку при использовании полос прокрутки автоматически захватывает следующую страницу / просмотр данных. ,

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

0 голосов
/ 02 марта 2009

Может быть, если пользовательский интерфейс приложения позволяет, показывать записи на нескольких страницах.

Я бы также предложил использовать асинхронные вызовы для извлечения данных, чтобы вы не замораживали приложение во время запросов (если это приложение для настольных компьютеров).

Если это веб-приложение, рассмотрите возможность использования AJAX.

0 голосов
/ 02 марта 2009

Можно ли выполнять отложенную загрузку (чтобы вы загружали данные по требованию, а не все сразу)?

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