sqlite?
SQLite的主要優(yōu)點(diǎn):
零配置(Zero Configuration)
SQlite3不用安裝,不用配置,不用啟動(dòng),關(guān)閉或者配置數(shù)據(jù)庫(kù)實(shí)例。當(dāng)系統(tǒng)崩潰后不用做任何恢復(fù)操作,再下次使用數(shù)據(jù)庫(kù)的時(shí)候自動(dòng)恢復(fù)。
緊湊(compactness):
SQLite是被設(shè)計(jì)成輕量級(jí),自包含的。一個(gè)頭文件,一個(gè)lib庫(kù),你就可以使用關(guān)系數(shù)據(jù)庫(kù)了,不用任何啟動(dòng)任何系統(tǒng)進(jìn)程。一般來(lái)說(shuō),整個(gè)SQLITE庫(kù)小于225KB。
可移植(Portability)
它是運(yùn)行在Windows,Linux,BSD,Mac OSX和一些商用Unix系統(tǒng),比如Sun的Solaris,IBM的AIX,同樣,它也可以工作在許多嵌入式操作系統(tǒng)下,比如QNX,VxWorks,PalmOS, Symbin和Windows CE。
SQLITE的缺點(diǎn):
1:SQLITE不可儲(chǔ)存過(guò)多的數(shù)據(jù)庫(kù),它的性能發(fā)揮最好只能在存放較小的數(shù)據(jù)量情況下。不要把它當(dāng)做MYSQL甚至ORACLE來(lái)使用。它只是一個(gè)200K的數(shù)據(jù)庫(kù)。
2:sqlite3不像MYSQL那樣使用固定日志文件,所有使用insert、update、delete的運(yùn)行效率只是一般,sqlite3的一個(gè)事務(wù),需要調(diào)用4次fsync()操作,而一般的大型數(shù)據(jù)庫(kù),如mysql只用到了2次。sqlite3對(duì)每個(gè)事務(wù)都創(chuàng)建一個(gè)臨時(shí)文件來(lái)記錄日志,這個(gè)日志創(chuàng)建、更新和刪除竟然使用了3次fsync()!