Как выбрать ключи индексации, следует ли рассматривать ключи из GROUPBY также с ключами WHERE или просто с ключами WHERE? - PullRequest
0 голосов
/ 21 июня 2020

Предположим, образец схемы документа

{
  "wherek1":"",
  "pk":""
  "groubby1":"",
  "groupby2":"",
  "count": 0
}

Предположим, выберите запрос

SELECT SUM(f.count) as outCount FROM TEST f WHERE f.pk='testk' and f.wherek1='hi' GROUP BY f.groubby1, f.groubby2

Для приведенного выше поля запроса необходимо проиндексировать:

> pk/*
> wherek1/*
> groubby1/*
> groubby2/*

Я правильно понимаю ?

Спасибо

1 Ответ

0 голосов
/ 22 июня 2020

Добавление группы по свойствам не принесет никакой пользы. Индексируются только те свойства, которые используются в предложениях where, order by или join.

Следует иметь в виду, что контейнеры с высокой мощностью элементов в свойствах, используемых в group by, могут стать дорогостоящими. Если вы планируете часто выполнять подобные запросы, вы можете подумать о создании материализованного представления с помощью канала изменений.

Некоторые ссылки, которые могут быть полезны.

Запросы с группировкой по

Блог Ленни Лобеля в ленте изменений

спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...