{eval=Array;=+count(Array);}
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也都是支持的。
Access算是一个变种的小型数据库,支持的SQL语法有限,而且很多标准SQL被微软在Access上阉割的不伦不类的。Access主要支持的是表和视图,对我们常用的自定义函数、存储过程等等都是完全不支持的,这对喜欢写自定义函数和存储过程的朋友来说,简直就是梦魇。同时Access支持的数据类型也是有限的。
MySQL则不同,她基本兼容SQL-92标准,很多方面还做了优化,对自定义函数、存储过程的支持也是很棒的,语法格式基本比较正常。MySQL支持的数据类型非常丰富,甚至是区别于其它关系型数据库,这点有点不正常,但搞明白了倒会成为MySQL的一个优点。
当然区别还有很多,二者的应用场景完全不同,基本没有太多可比性。如果您为了简单选用Access,倒不如使用SQLite;如果您为了性能选用MySQL,倒不如使用MariaDB和PostgreSQL。
① Access是桌面型数据库,以文件的格式存储;而MySQL则是关系型数据库,需要数据库服务后台支撑,访问的是数据库服务器。
② Access打开数据库文件即可操作,不要再安装管理软件,可视化界面,打开数据表就可以对数据进行修改。MySQL需要通过客户端登陆服务器进行操作,如Navicat/phpMyAdmin等等,另外安装、配置。
③ Access是文件型的桌面数据库,在数据量过大时,速度较慢,经常需要对文件进行压缩、修复,效率低下。MySQL是很受欢迎的开源关系型数据库,当数据量比较大时,仍可保证较快的速度和较高的效率。
④ Access共享性差,在局域网时通过共享文件的方式实现。MySQL配置权限后,可以全网络访问。
acess是文件型数据库,MySQL是服务器型数据库。
文件型数据库又可称之为嵌入式数据库,它只能单机访问,不需要额外的独立进程,占用资源相对较少。
服务器型数据库可以通过IP地址跨主机运行,需要额外的进程去运行它。
两者各有优缺点,access作为文件型数据库,相对比较轻量级,占用资源少,操作简单。缺点就是只适合于数据总量小,数据吞吐量少的场景。比方说用来存储程序的配置,就是一个不错的选择,常用于客户端,单机应用以及小型网站。如果此时选择MySQL等大型服务器,就有点杀鸡焉用牛刀的感觉。
而大型系统,则更适合用MySQL,特别适合数据总量非常大,频繁读写的情况。典型应用就是大中型网站,游戏服务器,而且同时访问量很大的那种。MySQL因为是服务器,还支持多个应用(包括服务器)同时访问,用于数据共享和交换,这一点也是access难以做到的。
另外还需要注意一点,现在看来,已经不适合再使用access了,毕竟它是早期的优秀产品。而近年来,sqlite已经比access更优秀了。sqlite同样是文件型数据库,现在广泛用于手机的APP(客户端)。建议所有可以选用access的场景都应当用sqlite来代替。
0
回答0
回答1
回答2
回答0
回答0
回答0
回答0
回答0
回答0
回答