簡體   English   中英

性能問題我在返回整個對象時進行 Arango 查詢

[英]Performance Issue i Arango query while returning the whole Object

我是 ArangoDB 的新手。 需要一些幫助來提高查詢的性能。

技術規格: ArangoDb(3.6.2) ,Java 8 Springboot 應用程序(2.xx) 。

我正在嘗試運行一個查詢,它在合並來自幾個 Graphs 的數據后返回一個對象。 當我直接返回對象時,查詢會無限運行,當我只返回對象的一個​​元素時,它運行得更快(如 75 秒)。

for d in data
        return d

輸出:

[{
accntDtl:{ //account detials here
         },
accntPrfl:{//accnt profile here
            },
//few other parameters
}]

return d - 無限運行。

return d.accnt[0].accntDtl[0].accntId - 在 75 秒內執行..

什么是提高其性能的可能解決方案?

注意:此查詢返回大約 200 萬條記錄。

出於保密目的,我無法在此處發布整個查詢。

提前致謝 。

更新:包括用於流媒體的 AqlQueryOptions。

aqlQueryOptions.stream(true),aqlQueryOptions.batchSize(10000)

消費相同:

while(cursor.hasNext()){
  result = cursor.next();
  //deserilize result as doc
  resultList.add(doc)
  ..... processing the data
}

但是此迭代是 1 次 1 次進行的,而不是按照 batchSize 參數中指定的 10,000 次進行。 我很確定,使用游標的方式是不可取的。 請建議在每次迭代中以 10,000 個批次使用此數據的最佳方法。

對於這樣的查詢,使用流游標將是有益的,在 AQL 游標創建時將stream設置為true

這是參考文檔:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM