性能優(yōu)化3--數(shù)據(jù)庫(kù)優(yōu)化
1> 索引
雖然索引的目的在于提高數(shù)據(jù)庫(kù)的性能,但這里有幾個(gè)情況需要避免使用索引。使用索引時(shí),應(yīng)重新考慮下列準(zhǔn)則:
索引不應(yīng)該使用在較小的表上。 索引不應(yīng)該使用在有頻繁的大批量的更新或插入操作的表上。 索引不應(yīng)該使用在含有大量的 NULL 值的列上。 索引不應(yīng)該使用在頻繁操作的列上。

2> 事務(wù)
對(duì)于事務(wù),就是數(shù)據(jù)庫(kù)的一次原子性的執(zhí)行操作。原子性的執(zhí)行操作為數(shù)據(jù)的整體性執(zhí)行帶來(lái)的可靠安全性。在SQLite中,如果我們默認(rèn)事務(wù)(會(huì)為每個(gè)插入和更新都創(chuàng)建一次事務(wù),并且在每次插入和更新后會(huì)立刻提交本次操作),即沒(méi)有手動(dòng)創(chuàng)建事務(wù),假設(shè)此時(shí)有1000條數(shù)據(jù),那么數(shù)據(jù)的執(zhí)行流程是 創(chuàng)建事務(wù) -> 執(zhí)行插入或更新操作 -> 提交事務(wù),這樣的流程會(huì)執(zhí)行1000次。如果我們手動(dòng)創(chuàng)建了事務(wù),則執(zhí)行流程為: 創(chuàng)建事務(wù) -> 執(zhí)行1000條SQL數(shù)據(jù)操作 -> 提交事務(wù)。很明顯,我們?cè)赟QLite中使用事務(wù)可以為插入和更新操作帶來(lái)很大的優(yōu)化。下面來(lái)看在SQLite中如何使用事務(wù):
從上圖我們看到,執(zhí)行一次事務(wù)分為了四步,分別是:開(kāi)始事務(wù) -> 執(zhí)行SQL ->設(shè)置事務(wù)執(zhí)行成功 -> 結(jié)束事務(wù)
posted on 2018-07-05 12:45 安卓筆記俠 閱讀(375) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)