У меня есть приложение Springboot, которое использует MongoDB в качестве базы данных. В одной из коллекций есть строковое поле, и запрос по этому полю занимает очень много времени, я не могу его настроить. Я создал индекс, но улучшения пока нет. Вот мой код.
public interface MyTableRepository extends MongoRepository<MyTable, String> {
public List<MyTable> findByState(String state);
}
Вот мой индекс:
db.getCollection('myTable').createIndex( { "state": 1 } )
Когда я запускаю следующий код из моей службы, этот вызов возвращает около 800 строк и занимает около 20 секунд.
List<MyTable> publishedItems = myRepository.findByState("published");