Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Posiziona nodi più restrittivi sul lato sinistro nelle espressioni Variable-Length Path (VLP)
Nelle query Variable-Length Path (VLP), il motore di interrogazione ottimizza la valutazione scegliendo di avviare l'attraversamento sul lato sinistro o destro dell'espressione. La decisione si basa sulla cardinalità dei motivi sul lato sinistro e destro. La cardinalità è il numero di nodi che corrispondono al modello specificato.
-
Se il modello giusto ha una cardinalità pari a uno, il punto di partenza sarà il lato destro.
-
Se i lati sinistro e destro hanno una cardinalità uguale a una, l'espansione viene controllata su entrambi i lati e inizia dal lato con l'espansione più piccola. L'espansione è il numero di bordi in uscita o in entrata per il nodo a sinistra e il nodo sul lato destro dell'espressione VLP. Questa parte dell'ottimizzazione viene utilizzata solo se la relazione VLP è unidirezionale e viene fornito il tipo di relazione.
-
Altrimenti, il lato sinistro sarà il punto di partenza.
Per una catena di espressioni VLP, questa ottimizzazione può essere applicata solo alla prima espressione. Gli altri VLP vengono valutati a partire dal lato sinistro. Ad esempio, poniamo che la cardinalità di (a), (b) sia una e la cardinalità di (c) sia maggiore di uno.
-
(a)-[*1..]->(c): La valutazione inizia con (a). -
(c)-[*1..]->(a): La valutazione inizia con (a). -
(a)-[*1..]-(c): La valutazione inizia con (a). -
(c)-[*1..]-(a): La valutazione inizia con (a).
Ora lascia che i bordi in entrata di (a) siano due e i bordi in uscita di (a) siano tre, i bordi in entrata di (b) siano quattro e i bordi in uscita di (b) siano cinque.
-
(a)-[*1..]->(b): La valutazione inizia con (a) poiché i bordi in uscita di (a) sono inferiori ai bordi in entrata di (b). -
(a)<-[*1..]-(b): La valutazione inizia con (a) poiché i bordi in entrata di (a) sono inferiori ai bordi in uscita di (b).
Come regola generale, posizionate il modello più restrittivo sul lato sinistro di un'espressione VLP.