03.03 數據庫access和MYSQL有什麼區別?

櫻桃的家家


Access和MySQL都是我們平時所說的數據庫,但二者的區別卻是很大的。

最明顯的區別就是:Access是桌面型數據庫,以文件的格式存儲,通過驅動可直接訪問文件;而MySQL則是大型關係型數據庫,需要MySQL數據庫服務後臺支撐,存儲的格式也不僅僅是一個文件那麼簡單,訪問的則是數據庫服務器而不是文件。

當然上面說的主要是最明顯的區別,如果要對二者進行對比,那區別大著呢,我們下面就羅列下二者的主要區別。

獲取途徑不同

正規來說,Access算是Office的一個套件,如果您要用Microsoft Access來管理Access,則需要購買Office,從這個角度看,Access是收費的;當然您也可以通過其它途徑管理Access,這種情況下Access又是免費的。與Access對標的開源數據庫是SQLite,如果要選擇,還是建議您選擇SQLite。

MySQL則是開源的數據庫系統,您要是用直接從官網下載即可,這個本身是免費的,但一些好用的前端管理工具有可能是收費的,比如Navicat就價格不菲。自從MySQL被Oracle收購之後,MySQL被分出兩個分支,一個分支閉源開始收費、一個分支則仍舊開源,從長遠看,Oracle肯定會把開源部分收費、或者繼續開源但故意疏於維護導致性能與閉源分支拉開距離。

與MySQL對標的開源數據庫是MariaDB,這是從MySQL分離出來的一個獨立的開源分支,而且承諾永遠開源永遠免費。所以,從長遠看,選用MySQL不如直接使用MariaDB或者另一個功能強大的開源數據庫PostgreSQL。不過MariaDB和MySQL基本是兼容的,所以即時有一天流氓公司要完全閉源了,直接轉到MariaDB也不是難事兒。

性能區別非常大

Access和MySQL本質上講,都算是關係型數據庫,都是通過行列二維表格的方式存儲數據,但二者的性能卻是天差地別。

Access畢竟是文件型的桌面數據庫,在數據量不大時,速度還是可以接受的,但當訪問數據量過大時,速度和效率急劇下降。而且,如果您要分佈式訪問Access也會比較麻煩,可能您需要採用第三方工具支撐,或者自己開發一個服務端排隊訪問。當然,如果是做網站用就沒有這種問題,只是速度和效率問題了。

MySQL則不同,作為最受歡迎的開源關係型數據庫,MySQL的性能是獲得一致認可的,當數據量比較大時,仍可保證較快的速度和較高的效率,同時,MySQL對併發訪問的處理也比Access的好得多,分佈式訪問更不是問題。

支持的操作系統不同

Access是微軟Office的一個套件,只能支持Windows平臺,這對喜歡使用Linux的朋友來說基本是無解的。

MySQL則根植於Linux,後來才移植到Windows,MySQL對Linux的支持是全方位的,在Linux上運行的效率也要優於Windows。當然MySQL支持的不僅僅是Linux和Windows了,各種Unix和MacOS也都是支持的。

支持的SQL區別很大

Access算是一個變種的小型數據庫,支持的SQL語法有限,而且很多標準SQL被微軟在Access上閹割的不倫不類的。Access主要支持的是表和視圖,對我們常用的自定義函數、存儲過程等等都是完全不支持的,這對喜歡寫自定義函數和存儲過程的朋友來說,簡直就是夢魘。同時Access支持的數據類型也是有限的。

MySQL則不同,她基本兼容SQL-92標準,很多方面還做了優化,對自定義函數、存儲過程的支持也是很棒的,語法格式基本比較正常。MySQL支持的數據類型非常豐富,甚至是區別於其它關係型數據庫,這點有點不正常,但搞明白了倒會成為MySQL的一個優點。

當然區別還有很多,二者的應用場景完全不同,基本沒有太多可比性。如果您為了簡單選用Access,倒不如使用SQLite;如果您為了性能選用MySQL,倒不如使用MariaDB和PostgreSQL。


網雲技術


acess是文件型數據庫,MySQL是服務器型數據庫。

文件型數據庫又可稱之為嵌入式數據庫,它只能單機訪問,不需要額外的獨立進程,佔用資源相對較少。

服務器型數據庫可以通過IP地址跨主機運行,需要額外的進程去運行它。

兩者各有優缺點,access作為文件型數據庫,相對比較輕量級,佔用資源少,操作簡單。缺點就是隻適合於數據總量小,數據吞吐量少的場景。比方說用來存儲程序的配置,就是一個不錯的選擇,常用於客戶端,單機應用以及小型網站。如果此時選擇MySQL等大型服務器,就有點殺雞焉用牛刀的感覺。

而大型系統,則更適合用MySQL,特別適合數據總量非常大,頻繁讀寫的情況。典型應用就是大中型網站,遊戲服務器,而且同時訪問量很大的那種。MySQL因為是服務器,還支持多個應用(包括服務器)同時訪問,用於數據共享和交換,這一點也是access難以做到的。

另外還需要注意一點,現在看來,已經不適合再使用access了,畢竟它是早期的優秀產品。而近年來,sqlite已經比access更優秀了。sqlite同樣是文件型數據庫,現在廣泛用於手機的APP(客戶端)。建議所有可以選用access的場景都應當用sqlite來代替。


犍為真人


access主要用來做一些小型的數據庫應用,並不是定位為後臺支撐數據庫的。不過現在魔方網表這方面做得比access好太多了,也強大很多,普通人就可以學會,還免費。


企業服務研究院


1.access性能不如mysql。

2.一般asp+access小型網站,php+mysql中型網站。另外asp+mysql需要odb連接,性能還可以,大數據一定不行,但可以過度到php+mysql。


分享到:


相關文章: