Лучше всего запросить по 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? Существуют ли определенные пределы минимального и максимального размера запроса, которые делают эту технику не такой эффективной, как просто выполнение запроса, который возвращает полные сущности?