нельзя использовать отсортированный индекс в запросе соединения - PullRequest
0 голосов
/ 02 января 2019

У меня есть запрос:

SELECT pr."productId" FROM "ProductRecord" pr
INNER JOIN "ProductCategory" pc on pr."productId" = pc."productId"
WHERE pc."category" = ? AND pc."language" = ?
ORDER BY pr."dailyRock" DESC `

В поле dailyRock есть упорядоченный индекс в порядке убывания, но поскольку при соединении используется индекс productId, отсортированный индекс использовать нельзя, и каждый раз, когда требуется получить агрегированный результатотсортирован.

Могу ли я заставить ignite использовать как индекс productId, так и индекс dailyRock таблицы ProductRecord в приведенном выше запросе?

1 Ответ

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

Нет, в каждом запросе может использоваться только один индекс на таблицу.

Вы можете попробовать создать составной индекс (dailyRock, productId) или (productId, dailyRock), хотя я не уверен, что это поможет избежать сортировки.

...