0
誰能告訴我,如果我可以通過擺脫fn:distinct-values($d2)
表達式來改善此查詢?我可以調整此查詢以擺脫fn:distinct-values嗎?
xquery version "1.0-ml";
declare namespace zespc = "http://www.cendris.nl/postcode";
declare namespace op = "http://www.nvsp.nl/oplage-mapping";
let $wijk := '665402'
let $d1 := fn:distinct-values(fn:doc('/data/map/oplage-mapping.xml')//op:map[@wijk_id = $wijk]/@ppc6_id)
let $q1 := cts:element-attribute-range-query(
xs:QName("op:map"), xs:QName("wijk_id"), "=",
$wijk)
let $d2 := cts:search(//op:map,$q1)/@ppc6_id
let $d3 := fn:distinct-values($d2)
return (fn:count($d1), fn:count($d3))
THX,
雨果
我的目標是提高速度,需要這個查詢作爲聚合函數的一部分,將大約500.000個文檔聚合到大約40.000個文檔。剖析我到目前爲止所看到的現在都處於同一個數量級,所以這一切都有待完成。我沒有檢查你的答案,但會接受它。 thx –
我的意思是「更高層次的目標」,就像用戶故事。有一個大聚合問題,你應該看看http://docs.marklogic.com/cts:value-co-occurrences和'map'選項。這樣一個數據庫請求就會返回一個包含所有聚合數據的巨型地圖。可能這是一些C++的情況:http://docs.marklogic.com/cpp/udf/index.html – mblakele