2013-06-05 17 views

回答

3

是的,通常取消更新查詢將回滾它試圖做的任何更改。你可以把它想象成一個堆棧:你的查詢中的每一個更新都會進入一個堆棧,並隨着它的發展而獲得必要的鎖定。在所有表達式被評估後,更新進入提交階段,並將該堆棧原子地應用到數據庫。如果查詢在該原子提交之前中斷,則這些更改都不會持久。此行爲涵蓋事務DBMS實現常見的ACID properties的A =原子和D =持久方面。

有一些例外。可以構建更新,以便在細粒度的子事務中應用工作。一種方法是使用多語句事務。

有關更多信息,請參閱http://docs.marklogic.com/guide/app-dev/transactions

+0

真棒回答謝謝。 – Ben

相關問題