Я пытаюсь определить лучший метод сбора большого списка из базы данных, а затем отображать и фильтровать результаты на стороне клиента. Позвольте привести краткий пример:
Пример: У меня есть база данных с данными клиентов, и в настоящее время она содержит около 2000 записей. Это число постоянно увеличивается. На моем веб-сайте есть страница, на которой я хочу иметь возможность запрашивать указанную базу данных на основе такой информации, как имя, адрес электронной почты, номер телефона и т. Д., И, конечно, отображать результаты (когда пользователь вводит данные в Smith, он возвращает все записи, содержащие имя Смит). Я планирую использовать AJAX, чтобы я мог запрашивать базу данных и отображать результаты на лету, подобно тому, как это делает Google. Когда пользователь начинает поиск, результаты будут отображаться на странице по мере их обнаружения.
Возможные решения:
К сожалению, я поставлен в тупик о том, как реализовать что-то подобное. Я рассматриваю возможность использования шаблона ValueList. Когда пользователь впервые загружает страницу, должен ли я запрашивать базу данных и сохранять каждую запись в коллекции, а затем искать в этом списке коллекций и отображать результаты на моей странице jsp? По сути, создание базы данных Java. Что мне нравится в шаблоне ValueList, так это то, что я сильно ударил по загрузке страницы и выгрузил всю базу данных в объекты, хранящиеся в списке. Что если база данных будет больше, скажем, 2 000 000 записей?
Или я должен использовать простой шаблон DOA без ValueList и запрашивать базу данных для каждого отдельного поиска? Это приведет к большому количеству запросов к базе данных, особенно учитывая, что я планирую возвращать результаты, когда пользователь вводит данные в поле поиска.
Редактировать: Чем больше я об этом думаю, тем больше это вопрос AJAX. Моя самая большая проблема должна заключаться в том, как запросить мою базу данных, пока пользователь печатает. Можно ли настроить прослушиватель для прослушивания, чтобы пользователь прекратил печатать, а затем выполнил запрос?