Access和MySQL都是我們平時所說的數(shù)據(jù)庫,但二者的區(qū)別卻是很大的。
最明顯的區(qū)別就是:
當然上面說的主要是最明顯的區(qū)別,如果要對二者進行對比,那區(qū)別大著呢,我們下面就羅列下二者的主要區(qū)別。
獲取途徑不同
正規(guī)來說,Access算是Office的一個套件,如果您要用MicrosoftAccess來管理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也不是難事兒。
性能區(qū)別非常大
Access和MySQL本質(zhì)上講,都算是關(guān)系型數(shù)據(jù)庫,都是通過行列二維表格的方式存儲數(shù)據(jù),但二者的性能卻是天差地別。
Access畢竟是文件型的桌面數(shù)據(jù)庫,在數(shù)據(jù)量不大時,速度還是可以接受的,但當訪問數(shù)據(jù)量過大時,速度和效率急劇下降。而且,如果您要分布式訪問Access也會比較麻煩,可能您需要采用第三方工具支撐,或者自己開發(fā)一個服務(wù)端排隊訪問。當然,如果是做網(wǎng)站用就沒有這種問題,只是速度和效率問題了。
MySQL則不同,作為最受歡迎的開源關(guān)系型數(shù)據(jù)庫,MySQL的性能是獲得一致認可的,當數(shù)據(jù)量比較大時,仍可保證較快的速度和較高的效率,同時,MySQL對并發(fā)訪問的處理也比Access的好得多,分布式訪問更不是問題。
支持的操作系統(tǒng)不同
Access是微軟Office的一個套件,只能支持Windows平臺,這對喜歡使用Linux的朋友來說基本是無解的。
MySQL則根植于Linux,后來才移植到Windows,MySQL對Linux的支持是全方位的,在Linux上運行的效率也要優(yōu)于Windows。當然MySQL支持的不僅僅是Linux和Windows了,各種Unix和MacOS也都是支持的。
支持的SQL區(qū)別很大
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ū)別還有很多,