SQLite和Access,二者都是常用的輕型關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。在DB-Engines的數(shù)據(jù)庫(kù)排名中,二者排名都比較靠前,名次也很接近,說(shuō)明使用兩種數(shù)據(jù)庫(kù)的人群還都不少,很多朋友在二者之間難以選擇。
SQLite:我雖渺小卻鋒利頑強(qiáng)!
SQLite,是一款輕型的,遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),她包含在一個(gè)相對(duì)小的C庫(kù)中。主要為嵌入式應(yīng)用設(shè)計(jì),在很多嵌入式產(chǎn)品中應(yīng)用廣泛,她占用資源非常的低,只需要幾百K的內(nèi)存就夠了。
筆者早年用過(guò)很多年Access,主要用作本地?cái)?shù)據(jù)存儲(chǔ),對(duì)Access的品性和弊端還算了解。后來(lái)毅然決然的換成了SQLite使用至今。作為輕型數(shù)據(jù)庫(kù),SQLite做到了輕如鴻毛卻又鋒利頑強(qiáng)。
SQLite數(shù)據(jù)庫(kù)就是一個(gè)文件。由于SQLite本身是C寫的,而且體積很小、效率極高,所以,經(jīng)常被集成到各種應(yīng)用程序中,目前Android和iOS都將SQLite作為內(nèi)置數(shù)據(jù)庫(kù)。
SQLite支持各種32位和64位體系的硬件平臺(tái),也能在Windows、Linux、BSD、Android等軟件平臺(tái)中運(yùn)行。同時(shí)SQLite支持ANSI SQL92中的大多數(shù)標(biāo)準(zhǔn),提供了對(duì)子查詢、視圖、觸發(fā)器等機(jī)制的支持。
下圖是SQLite和SQL Server及Acess的性能測(cè)試對(duì)比:
從上表可看出,SQLite性能碾壓Access不在話下!
Access:有微軟加持縱然雞肋應(yīng)者云集!
Access是由微軟發(fā)布的輕型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine和圖形用戶界面兩項(xiàng)特點(diǎn),是 Microsoft Office辦公系統(tǒng)可選套件之一。
Access既是Office套件,與Excel、Word融合相當(dāng)好,同時(shí)Access支持Visual Basic宏語(yǔ)言,您甚至可以在Access中直接開發(fā)簡(jiǎn)單系統(tǒng),這算是Access相比SQLite的最大優(yōu)勢(shì)。
當(dāng)然,Access既然是Office套件,如果您想要使用Access環(huán)境來(lái)管理維護(hù)Access,就需要花錢購(gòu)買了。但如果您在開發(fā)的系統(tǒng)中調(diào)用Access數(shù)據(jù)庫(kù),配置好調(diào)用環(huán)境即可,并不一定需要購(gòu)買Office。
SQLite和Access的優(yōu)缺點(diǎn)綜合對(duì)比
下面盤點(diǎn)下二者的優(yōu)缺點(diǎn),您就豁然開朗了!
SQLite的優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):
1、支持Limit語(yǔ)句,支持?jǐn)?shù)據(jù)自動(dòng)分頁(yè)
2、支持Insert返回自動(dòng)遞增主鍵的ID
3、查詢性能和效率高
4、支持壓縮命令
5、開放源代碼,可以內(nèi)嵌到dll中,發(fā)布簡(jiǎn)單
6、跨平臺(tái),數(shù)據(jù)庫(kù)具有很強(qiáng)的兼容性
7、支持動(dòng)態(tài)建立數(shù)據(jù)庫(kù)功能
8、事務(wù)處理
缺點(diǎn):
1、缺少?gòu)?qiáng)勁的免費(fèi)查詢分析器GUI。免費(fèi)的用過(guò)SQLiteStudio,還不錯(cuò)!
Access的優(yōu)點(diǎn)和缺點(diǎn)
優(yōu)點(diǎn):
1、直觀的查詢分析器GUI,維護(hù)簡(jiǎn)單方便
2、性能一般,但比較成熟和穩(wěn)定
缺點(diǎn):
1、不支持Limit命令,分頁(yè)難做到
2、不支持Insert返回遞增的ID
3、并發(fā)性能差,最大并發(fā)數(shù)50,只有一個(gè)連接可修改數(shù)據(jù)
4、不支持壓縮數(shù)據(jù)庫(kù)命令
5、不支持動(dòng)態(tài)建立數(shù)據(jù)庫(kù)
6、不支持跨平臺(tái),這是硬傷
通過(guò)對(duì)比可以得出這樣的結(jié)論:
SQLite性能碾壓Access,但Access有微軟加持,雖為雞肋卻獲得滋潤(rùn),看來(lái)巨頭的支持有多重要!