2017-10-20 167 views
0

Azure DocumentDB .NET SDK文檔查詢API提供了按精度降低順序的選項,但確切的預期效果仍然不明確。該documentation states只:FeedOptions.EnableLowPrecisionOrderBy的效果是什麼

獲取或設置以使由天青DocumentDB數據庫服務精度低的順序選擇。

ORDER BY-clause documentation不說一個關於取決於訂購行爲字FeedOptions或結果被責令有時不同於查詢請求。

  • 上述選項實際上做了什麼?
  • 使用「低精度」時我們可以期待什麼精度?
  • 除了「低精度」之外,我們還能斷言什麼?

回答

1

Azure Cosmos DB支持改變索引的精度以減少索引的存儲空間(默認爲全精度)。例如,數字精度爲5,該服務將索引數字的前5個字節。

默認情況下,不允許對精度較低的屬性進行排序。但是您可以選擇通過設置EnableLowPrecisionOrderBy來執行ORDER BY。假設您選擇5的數字精度(對於8字節數字)。查詢結果將按照該數字的最高有效5個字節的順序排列,但保證其餘3個字節沒有順序。此選項可讓您在不需要完全精確索引的情況下執行快速訂購,例如,在執行臨時數據探索時。

對於大多數使用情況,您應該使用默認精度,而不必依賴較低的精度順序。

+0

有意義,但是當通過非索引屬性進行排序時(特設展開)怎麼辦?它會默認爲安全的全精度搜索(忽略選項)還是更快的0-精細搜索(忽略順序)? –

+0

我們不支持對非索引屬性進行排序。你會得到一個錯誤,該路徑必須被編入索引。 –

相關問題