我为数据库中的元素配置了元素范围索引。我正在尝试对该元素运行搜索查询。该元素包含字符串值,我需要搜索一个特定的字符串值(不是值的范围或日期)。虽然可以使用元素值和元素范围查询,并且索引已经存在,但这两个查询是否会以相同的方式执行?或者元素范围在这种情况下表现更好?
答案 0 :(得分:5)
范围查询会更快。
元素值查询使用通用索引,内存中未满,
范围查询使用范围索引和内存索引。
随着数据的增长,范围查询会更快。如果你在该元素中有很多独特的术语,它也会更快。
答案 1 :(得分:3)
范围查询还回答了与值查询不同的问题。
值查询查询匹配的单词序列,而不是匹配字符串。默认情况下,它们也被阻止,因此cts:element-value-query(xs:QName(“x”),“be fine”)将匹配<x>Is finer</x>
。除非您执行精确的未受干扰的非wildcarded值查询,否则未经过滤的搜索将无法解决空格和标点符号差异。
范围查询(在字符串上)是特定排序规则下的匹配字符串。