Высокая запрашиваемая плата за очень простой запрос в Azure Cosmos DB (SQL API)

Я обнаружил, что иногда я получаю ошибку NoClassDefFound, когда код компилируется с несовместимой версией класса, найденного во время выполнения. Конкретный экземпляр, о котором я помню, связан с библиотекой осей apache. Фактически на моем пути к классам среды исполнения было 2 версии, и она собирала устаревшую и несовместимую версию, а не правильную, вызывая ошибку NoClassDefFound. Это было в приложении командной строки, где я использовал команду, подобную этой.

set classpath=%classpath%;axis.jar

Мне удалось получить правильную версию, используя:

set classpath=axis.jar;%classpath%;
3
задан driAn 13 July 2018 в 12:21
поделиться

2 ответа

Я предполагаю, что решение такое же, как и здесь: Azure DocumentDB Query by Id очень медленный

Я закрою свой вопрос, как только смогу проверить это с помощью Поддержка Microsoft.

0
ответ дан driAn 17 August 2018 в 13:08
поделиться

Если у вас есть сбор разделов, вам нужно указать раздел keyif, который вы хотите выполнить наиболее эффективно.

Попробуйте следующее:

SELECT * FROM Core c WHERE c.id = @id AND c.partition = @partition

Или укажите ключ раздела в разделе «Космос», если вы используете SDK CosmosDB.

Дайте мне знать, если это поможет.

0
ответ дан Olga Shumeliuk 17 August 2018 в 13:08
поделиться
  • 1
    Тханг Ольга. При задании раздела первый запрос теперь заряжает только 2.31 RU. У меня есть только два раздела (каждый ~ 50MiB), и поэтому отказ от ключа раздела не должен вызывать такой высокий запрос, как 9356,66, а плата за запрос 2 * 2,31 будет несколько приемлемой. Кроме того, для меня нет возможности включить ключ раздела в запрос, потому что это означает, что приложение должно обрабатывать информацию раздела для каждого отдельного внешнего ключа, который очень сложно поддерживать ... – driAn 16 July 2018 в 06:16
Другие вопросы по тегам:

Похожие вопросы: