2013-12-17 17 views

Odpowiedz

15

można jeszcze znaleźć muszlę neo4j, w którym można uruchomić komendę profile.

Albo po podłączeniu do serwera z systemem zaczynając bin/neo4j-shell

Albo poprzez przełączenie do starej web-ui w „(I)” Info-menu po lewej stronie i wybierając najniżej linku „WebAdmin” - >http://localhost:7474/webadmin

Informacje profilujące zostaną dodane do przeglądarki później, kiedy będzie łatwiej ją odczytać i zrozumieć.

+0

Dziękuję, Michael. To zadziałało dla mnie. –

14

Od wersji Neo4j 2.2 dostępne są dodatkowe funkcje profilowania. Niektóre funkcje, które były dostępne tylko przez powłokę neo4j lub punkty końcowe REST, są teraz dostępne również w przeglądarce Neo4j, a niektóre funkcje są zupełnie nowe.

Możesz teraz użyć polecenia PROFILE z kwerendą bezpośrednio w reploku Neo4j-browser, aby wykonać zapytanie i zobaczyć wizualizację planu wykonania.

PROFILE 
MATCH (n:Peter {foo: 'Paul'}) 
RETURN n.bar, ID(n) 

------------- 
n.bar ID(n) 
Mary 951 

Cypher 2.2 profile

Dodatkowo, można teraz sprawdzić planu kwerend bez konieczności faktycznie go wykonać, na przykład w celu sprawdzenia zapytanie, które mogłyby zmienić bazę danych. Zrób to za pomocą polecenia EXPLAIN, które zostało dodane do zapytania. Zobacz 15.2 How do I profile a query? z dokumentacji.

EXPLAIN 
MATCH (n:Peter {foo: 'Paul'}) 
SET n.foo = 'Mary', n.bar = 'Paul' 
RETURN n.foo, ID(n) 

------------------------------------------ 
// Nothing returned, query is not executed 

Cypher 2.2 explain

Podobnym Nowością jest również nowy planista „koszt na podstawie” zapytań, a także zdolność do wymusić użycie albo „kosztu” lub „reguły oparte” query planista dla wszystkich zapytań lub dla konkretnego zapytania. W dokumentacji zauważono, że nie wszystkie zapytania mogą być rozwiązywane przez "planer zapytań" oparty na kosztach, w którym to przypadku ustawienie zostanie zignorowane i użyty zostanie planer oparty na regułach. Zobacz 15.1 How are queries executed?

Aby wymusić użycie obu planowania zapytań dla wszystkich zapytań, zmień ustawienia query.planner.version konfiguracji w conf/neo4j.properties (serwer Neo4j) lub poprzez wywołanie metody .setConfig() na obiekcie GraphDatabaseService (Neo4j wbudowane). Ustaw go na COST lub , a następnie zdecyduj, który planer zapytań ma ponownie użyć w Neo4j, ustaw go na default (lub całkowicie usuń ustawienie). Zobacz 24.5 Configuration Settings, Starting an embedded database with configuration settings.

Aby wymusić użycie jednego z dwóch terminarzy zapytań dla określonego zapytania, należy dodać zapytanie do zapytania: CYPHER planner=cost lub CYPHER planner=rule.Zobacz 15.1 How are queries executed?

CYPHER planner=cost 
MATCH (n:Peter {foo: 'Paul'}) 
RETURN n.bar, ID(n) 

może PROFILE lub EXPLAIN zapytań z jednym z projektantów zapytań i widać żadnych różnic w jaki sposób realizować swoje zapytań.

Aby uzyskać pomoc w interpretacji planu wykonania, zobacz odpowiedni rozdział dokumentacji, 16. Execution Plans.