2011-11-01 23 views
3

App Engine最近宣佈支持Cross Group (XG) transactions;人們會期望這些事務在跨多個實體組使用時會產生額外的開銷,但是如果我指定在事務開始時我想要一個XG事務,但實際上只訪問一個實體組,我是否會看到顯着的性能影響?當實際上只碰到一個實體組時,跨實體組(XG)事務是否會產生開銷?

我問,因爲JDO要求在持久性管理器級別指定XG-ness,並且將所有事務打開(我只需要少數幾個極少數情況)就簡單多了。

回答

1

如果是這種情況,則沒有記錄或定義,但假定所有事務都存在開銷是最安全的。

如果您擔心開銷,您可能不應該使用JDO,因爲創建PersistenceManager本身有很多開銷。

+0

呀,看着漫長而艱難的是JDO我最終切換到物化的爛攤子後:) – bdonlan

3

從官方文檔:

只接觸到一個單一的實體組

的XG交易行爲就像 單組事務。在這種交易中的操作具有與關於計費和資源使用的等價單組 交易相同的性能和成本,但 經歷更高的等待時間。

來源: https://developers.google.com/appengine/docs/python/datastore/overview

+0

沒有任何人有JDO情況的示例代碼更新多個實體 ? – Vik

相關問題