隔離級(jí)別
事務(wù)隔離級(jí)別包括:
原子性蠢笋,即不可分割性,事務(wù)要么全部被執(zhí)行麸澜,要么就全部不被執(zhí)行挺尿;
一致性或可串性,事務(wù)的執(zhí)行使得數(shù)據(jù)庫(kù)從一種正確狀態(tài)轉(zhuǎn)換成另一種正確狀態(tài)炊邦;
隔離性编矾,在事務(wù)正確提交之前,不允許把該事務(wù)對(duì)數(shù)據(jù)的任何改變提供給任何其他事務(wù)馁害;
持久性,事務(wù)正確提交后窄俏,其結(jié)果將永久保存在數(shù)據(jù)庫(kù)中,即使在事務(wù)提交后有了其他故障碘菜,事務(wù)的處理結(jié)果也會(huì)得到保存
優(yōu)點(diǎn)
使用事務(wù)的兩大好處是原子提交和更優(yōu)性能凹蜈。
(1) 原子提交
原則提交意味著同一事務(wù)內(nèi)的所有修改要么都完成要么都不做,如果某個(gè)修改失敗忍啸,會(huì)自動(dòng)回滾使得所有修改不生效仰坦。
(2) 更優(yōu)性能
Sqlite默認(rèn)會(huì)為每個(gè)插入、更新操作創(chuàng)建一個(gè)事務(wù)计雌,并且在每次插入悄晃、更新后立即提交。
這樣如果連續(xù)插入100次數(shù)據(jù)實(shí)際是創(chuàng)建事務(wù)->執(zhí)行語(yǔ)句->提交這個(gè)過(guò)程被重復(fù)執(zhí)行了100次凿滤。如果我們顯示的創(chuàng)建事務(wù)->執(zhí)行100條語(yǔ)句->提交會(huì)使得這個(gè)創(chuàng)建事務(wù)和提交這個(gè)過(guò)程只做一次妈橄,通過(guò)這種一次性事務(wù)可以使得性能大幅提升。尤其當(dāng)數(shù)據(jù)庫(kù)位于sd卡時(shí)翁脆,時(shí)間上能節(jié)省兩個(gè)數(shù)量級(jí)左右眷蚓。
轉(zhuǎn)載自:http://www.trinea.cn/android/database-performance/