Выпадающий с функцией поиска для более чем 300K записей - PullRequest
0 голосов
/ 06 июля 2019

В GUI есть выпадающий список с несколькими вариантами выбора, который содержит более 300 тыс. Записей.Из-за этих огромных данных графический интерфейс замедлялся более 5 минут.Я хочу

  1. ввести опцию поиска, которая помогает найти правильную запись
  2. Сократить время загрузки - это мой приоритет.

Мы должны получитьиз 300 тыс. записей из БД и отправки в браузер, для которого требуется около 12 МБ данных

Я пытался отобразить его как данные JSON, но время загрузки все равно было

1 Ответ

1 голос
/ 06 июля 2019

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

Входные данные пользователя могут быть отправлены на ваш сервер в виде запроса AJAX.Функция автозаполнения затем отображает данные ответа сервера.Это очень небольшой объем данных, передаваемых туда и обратно, и это никак не повлияет на время загрузки, поскольку это асинхронный запрос.

Еще одна проблема, которая здесь возникает, - производительность вашей базы данных.Это будет зависеть от того, сколько пользователей вы обычно получаете.Если у вас много трафика, может потребоваться настроить базу данных, чтобы оптимизировать ее для этого сценария.Другой вариант заключается в том, чтобы поместить данные в формат JSON и сохранить их в статическом файле.Если данные меняются не часто или вообще, это было бы возможно.

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