É melhor consultar por keys_only = True e depois get_multi ou apenas consulta completa?

Eu estou usando o NDB com python 2.7 com o modo thread-safe ativado.

Eu entendo que a consulta de entidades com o NDB não usa cache local ou memcache, mas vai direto para o armazenamento de dados, ao contrário de obter pelo nome da chave. (O restante da questão pode ser redundante se essa premissa não estiver correta.)

Portanto, um bom paradigma seria consultar apenas com keys_only = True e, em seguida, fazer um get_multi para obter as entidades completas?

Os benefícios seriam que keys_only = Consultas verdadeiras são muito mais rápidas que keys_only = False, get_multi poderia apenas atingir o memcache & chamando get_multi suas entidades agora são salvas no memcache caso você precise fazer a consulta novamente.

As desvantagens são que agora você tem uma chamada de consulta RPC + chamada get_multi e acho que há um limite de como as entidades podem chamar em um get_multi, portanto, o tamanho efetivo da consulta pode ser limitado.

O que você acha? Devemos apenas consultar usando keys_only = True, então executar get_multi? Existem determinados limites de tamanho de consulta mínimos e máximos que tornam essa técnica menos eficaz do que apenas fazer uma consulta que retorna as entidades completas?