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。


分享到:


相關文章: