Spring boot низкая производительность при чтении документов - PullRequest
0 голосов
/ 02 мая 2018

У меня есть Spring Boot API, связанный с базой данных mongodb.

По определенному маршруту я получаю события для данного пользователя (он анализирует большую коллекцию с миллионами документов); проблема в том, что я получаю эти документы в> 20 с, но когда я использую mongoshell, я получаю их в 0,5 с.

Я уже добавил индекс по идентификатору пользователя (он стал намного быстрее).

Я погуглил проблему, но не вижу ответов по этому поводу (или, возможно, я не понял сути).

Мой метод делает очень простую вещь:

public Collection<Event> getEventsForUser(final String tenantId, final String orgId, final String userId)throws EventNotFoundException {

  Collection<MongoEvent> mongoEvents = mongoEventRepository.findByTenantIdAndOrganizationIdAndUserIdIgnoreCase(tenantId, orgId, userId);

  if (mongoEvents != null && !mongoEvents.isEmpty())
      return mongoEvents.stream().map(MongoEvent::getEvent).collect(Collectors.toList());

  throw new EventNotFoundException("Events not found.");
}

Это нормально или есть решение для оптимизации запроса?

Спасибо!

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