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