Мы разрабатываем корпоративное приложение, которое хранит огромное количество данных. В нашем приложении мы заставили пользователя создать несколько индексов диапазона пути, чтобы сделать поиск быстрее.
Ранее мы использовали преимущества индексов диапазона путей для ускорения поиска с использованием cts: path-range-query () , но теперь я обнаружил, что тот же результат я могу получить с помощью cts : element-query () без создания индексов диапазона пути.
Например -
Использование cts: path-range-query () -> Здесь мне нужно создать индекс диапазона пути для / tXML / Message / INVENTORY / ASNId
xquery version "1.0-ml";
cts:uris('', (), cts:and-query((cts:collection-query("integration"),
cts:path-range-query("/tXML/Message/INVENTORY/ASNId", "=", "10121600"))))
Использование cts: element- query () -> Здесь мне не нужно создавать указатель диапазона пути.
xquery version "1.0-ml";
cts:uris('', (), cts:and-query((cts:collection-query("integration"),
cts:element-query(xs:QName("tXML"),cts:element-query(xs:QName("Message"), cts:element-query(xs:QName("INVENTORY"), cts:element-value-query(xs:QName("ASNId"), "10121600")))))))
Мои вопросы:
Если я получаю тот же результат, что и cts: path-range-query () с использованием cts: element-query (), тогда зачем мне заставлять пользователя создавать индексы диапазона пути?
какой запрос подходит для огромного набора данных?. ( cts: element-query () или cts: path-range-query () )
Пожалуйста, помогите мне найти ответы на эти два вопроса.