N1QL-запрос с использованием индекса и USE KEYS - PullRequest
0 голосов
/ 16 января 2019

Мне нужно выполнить запрос N1QL, в котором некоторые записи могут быть выбраны с помощью индексированного атрибута, а другие могут быть идентифицированы по их идентификаторам. Я пытался использовать

SELECT name FROM b WHERE collection in $cList OR meta().id IN $idList

Но это возвращает ошибку о том, что нет доступного индекса, соответствующего моему запросу. Я могу использовать UNION с двумя отдельными запросами:

SELECT name FROM b WHERE collection in $cList
UNION
SELECT name FROM b USE KEYS $idList

Это лучший способ сделать это? Или есть какой-то способ объединить результаты из индекса и USE KEYS в одном запросе?

1 Ответ

0 голосов
/ 16 января 2019

Объединение запросов - лучший вариант, потому что USE KEYS можно получить напрямую из KV, а другая часть запроса может использовать индекс.

...