App Engine最近宣布支持Cross Group (XG) transactions;当在多个实体组中使用时,人们会期望这些事务会产生额外的开销,但如果我在事务开始时指定我想要一个XG事务,但实际上只访问一个实体组,我会看到显着的性能影响吗?
我问,因为JDO要求在持久性管理器级别指定XG-ness,并且为所有事务打开它会更简单(我只需要少数几种情况)......
答案 0 :(得分:3)
来自官方文档:
仅触及单个实体组的XG事务就像 单组交易。这种交易中的操作有 与同等单组相同的性能和成本 关于计费和资源使用的交易,但会 体验更高的延迟。
源: https://developers.google.com/appengine/docs/python/datastore/overview
答案 1 :(得分:1)
如果是这种情况,则没有记录或定义,但最安全的做法是假设所有交易都存在开销。
如果你担心开销,你可能不应该使用JDO,因为创建一个PersistenceManager本身就有很多开销。