Структура базы данных в БД Монго - PullRequest
0 голосов
/ 23 мая 2018

У меня есть сторонний веб-сервис, который предоставляет данные в формате JSON, структура которого приведена ниже:

enter image description here Эти веб-сервисы предоставляют в общей сложности не 22 000 записей.

Я создаю планировщик, который очищает эти записи и сохраняет их в коллекции MongoDB.

Мне требуются некоторые ключи из родительского JSON, такие как «запрос», «countyrName» и т. Д., А некоторые - из «результатов» свнутренняя JSON.

Я хочу отобразить данные в HTML-таблице и хочу добавить сортировку и разбивку на страницы с помощью плагина Jquery Datatables.

Как мне структурировать данные, чтобы я неесть негативное влияние на производительность?Как я могу еще улучшить производительность?

1 Ответ

0 голосов
/ 24 мая 2018

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

Если вы хотите отобразить все данные с помощью jquery Datatables с сортировкой и разбивкой на страницы, вам придется отправить все 22 000 документов клиенту.Я подозреваю, что это сделало бы все приложение очень медленным двумя способами:

  • Это увеличило бы время загрузки страницы, так как много данных должно быть загружено одновременно
  • Сортировка будет очень медленной, так как браузер должен отсортировать все 22 000 записей в javascript.

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

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

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