1
在Marklogic中,如果我在數據庫重新啓動的情況下中斷長時間運行的查詢,那麼當數據庫再次聯機時,該查詢將不再完全應用嗎?Marklogic - 在數據庫重新啓動的情況下中斷長時間運行的查詢
在Marklogic中,如果我在數據庫重新啓動的情況下中斷長時間運行的查詢,那麼當數據庫再次聯機時,該查詢將不再完全應用嗎?Marklogic - 在數據庫重新啓動的情況下中斷長時間運行的查詢
是的,通常取消更新查詢將回滾它試圖做的任何更改。你可以把它想象成一個堆棧:你的查詢中的每一個更新都會進入一個堆棧,並隨着它的發展而獲得必要的鎖定。在所有表達式被評估後,更新進入提交階段,並將該堆棧原子地應用到數據庫。如果查詢在該原子提交之前中斷,則這些更改都不會持久。此行爲涵蓋事務DBMS實現常見的ACID properties的A =原子和D =持久方面。
有一些例外。可以構建更新,以便在細粒度的子事務中應用工作。一種方法是使用多語句事務。
有關更多信息,請參閱http://docs.marklogic.com/guide/app-dev/transactions。
真棒回答謝謝。 – Ben