最近,我被賦予了研究和提供NoSQL數據庫效果概念證明的任務。我選擇了Neo4j作爲這個.NET應用程序的NoSQL數據庫。爲什麼查詢速度比Neo4j客戶端慢10倍?
事情是......當我使用Neo4j客戶端執行查詢時,它運行在10-20毫秒內,這太棒了。每當我通過代碼執行該查詢時,需要150-200毫秒,這是巨大的差異。
查詢如下(一個銀行數據庫的荷蘭當量)
我要實現的是讓每家銀行都與他們的子女(要獲得整個層次)的目標是:
MATCH (bank:Bank)-[:PARENT_OF]->(bank2:Bank) Return (bank.id),collect(bank2.id)
這是我用來執行查詢的代碼。
var query = client.Cypher.Match("(bank:Bank)-[:PARENT_OF]->(child:Bank)")
.Return((bank, child) => new
{
Bank = bank.As<Bank>(),
Children = child.CollectAs<Bank>()
});
var list = query.Results
我的問題是:爲什麼查詢速度慢10倍,而不是Neo4j客戶端?
您也可以只發出原始網頁請求獲取通過交易終端的基礎數據,你將不得不解析JSON自己。還有一些其他的.Net驅動程序,它們只是http端點周圍的精簡包裝。 –