{eval=Array;=+count(Array);}
Access和MySQL都是我們平時所說的數(shù)據(jù)庫,但二者的區(qū)別卻是很大的。
最明顯的區(qū)別就是:Access是桌面型數(shù)據(jù)庫,以文件的格式存儲,通過驅(qū)動可直接訪問文件;而MySQL則是大型關(guān)系型數(shù)據(jù)庫,需要MySQL數(shù)據(jù)庫服務后臺支撐,存儲的格式也不僅僅是一個文件那么簡單,訪問的則是數(shù)據(jù)庫服務器而不是文件。
當然上面說的主要是最明顯的區(qū)別,如果要對二者進行對比,那區(qū)別大著呢,我們下面就羅列下二者的主要區(qū)別。
正規(guī)來說,Access算是Office的一個套件,如果您要用Microsoft Access來管理Access,則需要購買Office,從這個角度看,Access是收費的;當然您也可以通過其它途徑管理Access,這種情況下Access又是免費的。與Access對標的開源數(shù)據(jù)庫是SQLite,如果要選擇,還是建議您選擇SQLite。
MySQL則是開源的數(shù)據(jù)庫系統(tǒng),您要是用直接從官網(wǎng)下載即可,這個本身是免費的,但一些好用的前端管理工具有可能是收費的,比如Navicat就價格不菲。自從MySQL被Oracle收購之后,MySQL被分出兩個分支,一個分支閉源開始收費、一個分支則仍舊開源,從長遠看,Oracle肯定會把開源部分收費、或者繼續(xù)開源但故意疏于維護導致性能與閉源分支拉開距離。
與MySQL對標的開源數(shù)據(jù)庫是MariaDB,這是從MySQL分離出來的一個獨立的開源分支,而且承諾永遠開源永遠免費。所以,從長遠看,選用MySQL不如直接使用MariaDB或者另一個功能強大的開源數(shù)據(jù)庫PostgreSQL。不過MariaDB和MySQL基本是兼容的,所以即時有一天流氓公司要完全閉源了,直接轉(zhuǎn)到MariaDB也不是難事兒。
Access和MySQL本質(zhì)上講,都算是關(guān)系型數(shù)據(jù)庫,都是通過行列二維表格的方式存儲數(shù)據(jù),但二者的性能卻是天差地別。
Access畢竟是文件型的桌面數(shù)據(jù)庫,在數(shù)據(jù)量不大時,速度還是可以接受的,但當訪問數(shù)據(jù)量過大時,速度和效率急劇下降。而且,如果您要分布式訪問Access也會比較麻煩,可能您需要采用第三方工具支撐,或者自己開發(fā)一個服務端排隊訪問。當然,如果是做網(wǎng)站用就沒有這種問題,只是速度和效率問題了。
MySQL則不同,作為最受歡迎的開源關(guān)系型數(shù)據(jù)庫,MySQL的性能是獲得一致認可的,當數(shù)據(jù)量比較大時,仍可保證較快的速度和較高的效率,同時,MySQL對并發(fā)訪問的處理也比Access的好得多,分布式訪問更不是問題。
Access是微軟Office的一個套件,只能支持Windows平臺,這對喜歡使用Linux的朋友來說基本是無解的。
MySQL則根植于Linux,后來才移植到Windows,MySQL對Linux的支持是全方位的,在Linux上運行的效率也要優(yōu)于Windows。當然MySQL支持的不僅僅是Linux和Windows了,各種Unix和MacOS也都是支持的。
Access算是一個變種的小型數(shù)據(jù)庫,支持的SQL語法有限,而且很多標準SQL被微軟在Access上閹割的不倫不類的。Access主要支持的是表和視圖,對我們常用的自定義函數(shù)、存儲過程等等都是完全不支持的,這對喜歡寫自定義函數(shù)和存儲過程的朋友來說,簡直就是夢魘。同時Access支持的數(shù)據(jù)類型也是有限的。
MySQL則不同,她基本兼容SQL-92標準,很多方面還做了優(yōu)化,對自定義函數(shù)、存儲過程的支持也是很棒的,語法格式基本比較正常。MySQL支持的數(shù)據(jù)類型非常豐富,甚至是區(qū)別于其它關(guān)系型數(shù)據(jù)庫,這點有點不正常,但搞明白了倒會成為MySQL的一個優(yōu)點。
當然區(qū)別還有很多,二者的應用場景完全不同,基本沒有太多可比性。如果您為了簡單選用Access,倒不如使用SQLite;如果您為了性能選用MySQL,倒不如使用MariaDB和PostgreSQL。
① Access是桌面型數(shù)據(jù)庫,以文件的格式存儲;而MySQL則是關(guān)系型數(shù)據(jù)庫,需要數(shù)據(jù)庫服務后臺支撐,訪問的是數(shù)據(jù)庫服務器。
② Access打開數(shù)據(jù)庫文件即可操作,不要再安裝管理軟件,可視化界面,打開數(shù)據(jù)表就可以對數(shù)據(jù)進行修改。MySQL需要通過客戶端登陸服務器進行操作,如Navicat/phpMyAdmin等等,另外安裝、配置。
③ Access是文件型的桌面數(shù)據(jù)庫,在數(shù)據(jù)量過大時,速度較慢,經(jīng)常需要對文件進行壓縮、修復,效率低下。MySQL是很受歡迎的開源關(guān)系型數(shù)據(jù)庫,當數(shù)據(jù)量比較大時,仍可保證較快的速度和較高的效率。
④ Access共享性差,在局域網(wǎng)時通過共享文件的方式實現(xiàn)。MySQL配置權(quán)限后,可以全網(wǎng)絡訪問。
acess是文件型數(shù)據(jù)庫,MySQL是服務器型數(shù)據(jù)庫。
文件型數(shù)據(jù)庫又可稱之為嵌入式數(shù)據(jù)庫,它只能單機訪問,不需要額外的獨立進程,占用資源相對較少。
服務器型數(shù)據(jù)庫可以通過IP地址跨主機運行,需要額外的進程去運行它。
兩者各有優(yōu)缺點,access作為文件型數(shù)據(jù)庫,相對比較輕量級,占用資源少,操作簡單。缺點就是只適合于數(shù)據(jù)總量小,數(shù)據(jù)吞吐量少的場景。比方說用來存儲程序的配置,就是一個不錯的選擇,常用于客戶端,單機應用以及小型網(wǎng)站。如果此時選擇MySQL等大型服務器,就有點殺雞焉用牛刀的感覺。
而大型系統(tǒng),則更適合用MySQL,特別適合數(shù)據(jù)總量非常大,頻繁讀寫的情況。典型應用就是大中型網(wǎng)站,游戲服務器,而且同時訪問量很大的那種。MySQL因為是服務器,還支持多個應用(包括服務器)同時訪問,用于數(shù)據(jù)共享和交換,這一點也是access難以做到的。
另外還需要注意一點,現(xiàn)在看來,已經(jīng)不適合再使用access了,畢竟它是早期的優(yōu)秀產(chǎn)品。而近年來,sqlite已經(jīng)比access更優(yōu)秀了。sqlite同樣是文件型數(shù)據(jù)庫,現(xiàn)在廣泛用于手機的APP(客戶端)。建議所有可以選用access的場景都應當用sqlite來代替。
0
回答0
回答1
回答2
回答0
回答0
回答0
回答0
回答0
回答0
回答