我将一个实体的密钥存储为另一个实体的属性,以便将它们关联起来。目前项目正处于重构阶段,所以我正在考虑引入祖先。
这两种方法之间有性能差异吗?如果我们介绍祖先,我可能会获得什么特定的优势?
class Book(ndb.Model):
...
class Article(ndb.Model):
book_key = ndb.KeyProperty(kind=Book, required=True)
book_key = ndb.Key("Book", 12345)
第一祖先查询方法
qry = Article.query(ancestor=book_key)
第二种简单的按键查询方法
qry = Article.query(book_key=book_key)
祖先查询将始终完全一致。查询依据book_key
另一方面,不一定一致:您可能会发现最近的更改不会显示在该查询中。
另一方面,引入祖先对更新次数施加了限制:每秒只能对任何实体组(即祖先及其子级)进行一次更新。
您需要权衡哪一个在您的应用程序中更重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)