2016-05-17 104 views
3

我有一個爲我的數據庫中的元素配置的元素範圍索引。我試圖在該元素上運行搜索查詢。該元素包含字符串值,我需要搜索一個特定的字符串值(不是一個值的範圍或日期)。儘管可以使用元素值和元素範圍查詢,並且索引已經存在,但是這兩個查詢是否都以相同的方式執行?或元素範圍在這種情況下表現更好?元素值查詢的性能與元素範圍查詢

+0

如果下面的回覆之一回答了您的問題,請將其標記爲已接受? –

回答

4

範圍查詢會更快。

的元件值查詢使用通用索引和沒有滿在存儲器

範圍查詢用戶範圍索引和這是一個在存儲器中的索引。

隨着數據的增長,範圍查詢將會快得多。如果你在這個元素中有很多獨特的術語,它也會更快。

+0

謝謝@ tyler-replogle – Selva

3

範圍查詢也回答了值查詢中的一個不同的問題。

值查詢查詢匹配單詞序列,不匹配字符串。默認情況下,它們也被阻止,所以cts:element-value-query(xs:QName(「x」),「be fine」)將匹配<x>Is finer</x>。除非你做了一個確切的未定義的未虛擬值查詢,否則未過濾的搜索將無法解析空間和標點符號差異。

範圍查詢(在字符串上)是在特定歸類規則下的匹配字符串。