Ist es am besten, mit keys_only = True abzufragen, dann get_multi oder nur vollständige Abfrage?
Ich verwende NDB mit Python 2.7 und aktiviertem Thread-Safe-Modus.
Ich verstehe, dass das Abfragen von Entitäten mit NDB keinen lokalen Cache oder Memcache verwendet, sondern direkt zum Datenspeicher geht, im Gegensatz zum Abrufen des Schlüsselnamens. (Der Rest der Frage könnte überflüssig sein, wenn diese Prämisse nicht korrekt ist.)
Wäre es daher ein gutes Paradigma, nur mit keys_only = True abzufragen und dann get_multi auszuführen, um die vollständigen Entitäten zu erhalten?
Die Vorteile wären, dass keys_only = True-Abfragen viel schneller sind als keys_only = False, get_multi könnte möglicherweise nur Memcache treffen und durch Aufrufen von get_multi werden Ihre Entitäten jetzt in Memcache gespeichert, falls Sie die Abfrage erneut durchführen müssen.
Die Nachteile sind, dass Sie jetzt einen RPC-Abfrageaufruf + get_multi-Aufruf haben, und ich denke, dass es eine Grenze dafür gibt, wie Entitäten Sie in einem get_multi aufrufen können, weshalb Ihre effektive Abfragegröße möglicherweise begrenzt ist.
Was denkst du? Sollten wir immer nur mit keys_only = True abfragen, dann führen Sie get_multi aus? Gibt es bestimmte minimale und maximale Größenbeschränkungen für Abfragen, die diese Technik nicht so effektiv machen wie das Ausführen einer Abfrage, die die vollständigen Entitäten zurückgibt?