0

Предположим, что я выполняю подсчет по запросу ndb. напримерКак подсчитывать количество запросов к квотам?

@classmethod 
def num_bets_updated_in_last(cls, minutes=60): 
    td = datetime.timedelta(minutes=minutes) 
    dt_start = datetime.datetime.utcnow()-td 
    return BetInfo.query(BetInfo.last_update>dt_start).count() 

Как бы они засчитываются моих квот https://developers.google.com/appengine/docs/quotas#Datastore

было бы ни одного чтения, ни одной операции, количество чтений равняясь количество, или что-то еще?

ответ

1

Счет NDB просто извлекает все сущности и возвращает их общее число. Обратите внимание, что это очень неэффективно и не очень хорошо масштабируется, так как подсчет миллиона объектов будет стоить миллион читаемых данных (только если запрос завершится менее чем за 60 секунд, иначе будет создано исключение).

Как уже упоминалось, используйте appstats для получения более подробной информации о расходах.

+1

Это отчасти верно, но это немного сложнее, чем это. Для простых запросов, не связанных с операциями! =, NOT или OR, подсчет выполняется без извлечения сущностей из хранилища данных. Но в худшем случае вы правы, все сущности читаются и учитываются. –

Смежные вопросы