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