0
我有一個數據模型,我想在發佈在Graphgist中的文章後進行粗略建模。Neo4j - 在WHERE子句中查找邊緣屬性的性能
我很好奇我在WHERE子句中可以期待的性能,即給定的2個節點之間有大量的關係,每個節點之間定義了'from'和'to'參數邊緣。當你做一個匹配查詢這樣的,你必須讓我們說100的價格賣出的關係,如何做的Neo4j處理過濾下來的邊緣,只是此事基礎上,WHERE條件的一個(或多個)的性能:
MATCH (s:Shop{shop_id:1})-[r1:SELLS]->(p:Product)
WHERE (r1.from <= 1391558400000 AND r1.to > 1391558400000)
MATCH (p)-[r2:STATE]->(ps:ProductState)
WHERE (r2.from <= 1391558400000 AND r2.to > 1391558400000)
RETURN p.product_id AS productId,
ps.name AS product,
ps.price AS price
ORDER BY price DESC
我還沒有找到一種方法直接在邊上索引屬性,所以我假設查詢優化器可以處理這樣的事情,或者它只是從字面上遍歷邊的數組並找到匹配的一個或多個。
這很有道理。感謝您的回覆,我們將繼續按計劃進行。該屬性是一個時間戳,所以它通常沒有意義的索引,但我想知道在遍歷中是否會有任何主要的好處,但它聽起來像有沒有什麼可以獲得。感謝幫助! – Micah