Я пытаюсь сделать простой запрос, чтобы получить 1-е отношение глубины для определенного узла. Я провел пару тестов, чтобы проверить время, необходимое для весны, чтобы получить данные. Затраченное время составляет около 1,2 секунды, хотя количество возвращенных объектов равно 1 или 1000.
Просто чтобы проверить это поведение, я написал простой скрипт на Python и выполнил тот же запрос только для того, чтобы увидеть, что для получения результата требуется всего 40 мс.
Не могли бы вы помочь мне решить эту проблему весной? Спасибо за ваше время.
Сущность -
@NodeEntity(label = "Person")
public class Person {
@Id
@GeneratedValue
private Long id;
private String name;
@Relationship(type = "X",direction = Relationship.OUTGOING)
private Set<Person> x;
public Person()
{}
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Репозиторий -
import org.springframework.data.neo4j.annotation.Query;
public interface PersonRepository extends CrudRepository<Person, Long> {
@Query("match (n:Person)-[]->(k:Person) where n.name = {name} return k.name limit 1;")
List<String> findPeople(String name);
}
Всего findPeople занимает 1 секунду, чтобы получить один объект из базы данных.
Я обновил код. Пожалуйста, помогите мне. Спасибо
Вопрос в том, как вы проверяете 1,2 секунды, которые это занимает? Интеграционный тест звучит разумно при запуске и т. д.
Без вашего кода, как можно вам помочь? Пожалуйста, поделитесь своим кодом.