FMDB支援的事務型別

大學霸發表於2017-03-28
FMDB支援的事務型別

在資料庫中,事務可以保證資料操作的完整性。當存在大量併發操作,容易出現死鎖問題。在SQLite中,為了解決該問題,提供三種事務模式,分別為DEFFERED、IMMEDIATE、EXCLUSIVE。

在DEFFERED模式事務中,事務開始執行時,不預先獲取任何鎖。當進行讀操作,獲取SHARED LOCK鎖;當進行第一次寫操作,獲取RESERVED鎖。
在IMMEDIATE模式事務中,事務開始執行,就獲取RESERVED鎖。這時,其他連線只能進行讀操作。
在EXCLUSIVE模式事務中,事務開始執行,就獲取EXCLUSIVE鎖。這是,其他連線無法進行任何讀寫操作。

而FMDB支援DEFFERED和EXCLUSIVE兩種模式。當使用beginTransaction方法,使用EXCLUSIVE模式,適合資料庫讀寫較少的情況。當使用beginDefferedTransaction方法,則使用DEFFERED模式,適合讀寫頻繁的場景。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2136168/,如需轉載,請註明出處,否則將追究法律責任。

相關文章