Вы можете избежать DayToSecond
в целом, извлекая количество секунд из разницы в интервалах и получая его на Java в виде простого номера:
Используйте эту функцию (частично взятую из здесь ):
public static Field diff(Field field1, Field field2) {
return DSL.field("extract(epoch from {0} - {1})", Integer.class, field1, field2);
}
Для этого:
timestampDiff(Tables.MISSION.SOLVE_DATE, Tables.MISSION.START_DATE)
В это:
diff(Tables.MISSION.SOLVE_DATE, Tables.MISSION.START_DATE)
Затем вы объявляете SPEED
следующим образом:
Field SPEED = field("SPEED", Integer.class);
Azure Cosmos DB может автоматически масштабировать хранилище и пропускную способность по мере роста ваших требований. Вы можете оценить свои потребности в пропускной способности с помощью калькулятора единиц запроса Azure Cosmos DB Если вы используете этот планировщик, это должно дать вам представление о соотношении хранилища данных, которое будет использоваться.
Другим фактором является использование: Горизонтальное разбиение / масштабирование , это, возможно, может быть основным фактором, который вызвал увеличение размера ваших данных. Я бы порекомендовал переразметку (в документах также есть ссылки на то, как это сделать). чтобы отслеживать, является ли это причиной, вы можете использовать мониторинг ваших разделов :
Чтобы определить распределение хранилища любого многораздельного контейнера в разбивке по разделы, перейдите к метрике на портале Azure. На вкладке «Хранилище» разбивка хранилища отображается в хранилище «Данные + индекс», которое используется диаграммой ключей верхнего сегмента.
По любым другим вопросам, не стесняйтесь связаться с командой Cosmos DB: askcosmosdb [at] microsoft.com