top*_*ess 10 python google-app-engine app-engine-ndb
我将实体的密钥存储为另一个实体的属性以便将它们关联起来.我们在项目的这个阶段处于重构阶段,所以我在考虑引入祖先.这两种方法之间是否存在性能差异?如果我们介绍祖先,我可能获得的任何优势?
class Book(ndb.Model):
...
class Article(ndb.Model):
book_key = ndb.KeyProperty(kind=Book, required=True)
book_key = ndb.Key("Book", 12345)
Run Code Online (Sandbox Code Playgroud)
第一个祖先查询方法
qry = Article.query(ancestor=book_key)
Run Code Online (Sandbox Code Playgroud)
第二种简单的密钥查询方法
qry = Article.query(book_key=book_key)
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 15
祖先查询将始终完全一致.book_key另一方面,查询不一定是一致的:您可能会发现最近的更改不会显示在该查询中.
另一方面,引入祖先会对更新次数施加限制:您每秒只能对任何实体组(即祖先及其子级)执行一次更新.
对于您的应用程序中哪一个更重要,这是一个权衡.
| 归档时间: |
|
| 查看次数: |
4154 次 |
| 最近记录: |