Каждый раз, когда вы индексируете запрос, подобный этому, он выполняет запрос заново, извлекает соответствующий результат, декодирует его и возвращает вам. Во втором фрагменте вы изменяете один экземпляр сущности, немедленно отбрасываете его, затем извлекаете и сохраняете (неизменяемый) вторую копию.
Как правило, вам следует избегать индексации запросов, подобных этому, - вместо этого вызывайте .get()
или .fetch()
.
По той же причине вам следует избегать использования .count()
, где это возможно, так как это также требует выполнения другого запроса. Если вам нужен только один результат, позвоните .get()
; если вам нужно больше, позвоните .fetch()
, а затем посчитайте количество полученных результатов.