Лучше всего запросить по keys_only = True, затем get_multi или просто полный запрос?

Я использую NDB с Python 2.7 с включенным потокобезопасным режимом.

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

Поэтому хорошей парадигмой было бы запрашивать только с keys_only = True, а затем делать get_multi для получения полных сущностей?

Преимущества будут в том, что keys_only = True запросы намного быстрее, чем keys_only = False, get_multi потенциально может просто нажать на memcache & amp; вызывая get_multi, ваши сущности теперь сохраняются в memcache на случай, если вам нужно будет выполнить запрос снова.

Недостатки в том, что теперь у вас есть вызов запроса RPC + вызов get_multi, и я думаю, что существует ограничение на то, как объекты могут вызываться в одном get_multi, поэтому ваш эффективный размер запроса может быть ограничен.

Как вы думаете? Должны ли мы когда-либо запрашивать, используя keys_only = True, а затем выполнять get_multi? Существуют ли определенные пределы минимального и максимального размера запроса, которые делают эту технику не такой эффективной, как просто выполнение запроса, который возвращает полные сущности?

Ответы на вопрос(1)

Ваш ответ на вопрос