浅谈MySQL和Access数据库的区别?
2023-06-06 · 百度认证:重庆猪八戒网络有限公司官方账号
总体来说,access与mysql的区别就是:
1.mySql是真正的数据库,可以动态的自动进行数据处理。
2.Access提供是的是文件服务,自己不可以动态处理数据。
具体详细区别如下所示:
(1)Mysql是Oracle支持的开源项目,而access是microsoftoffice的一个非常小型的数据库,需要付费,当然我们现在有的都是盗版,所以免费,但是这种盗版的access不可用于商业目的
(2)强调一点,什么数据库都可以用“语言”连接,所以mysql和access都能用C,Cpp,java,python等语言连接......方法很简单,如果以java为例的话,连接一种数据库就有三种方法。
(3)明确一点,很多人都认为mysql是用来做那些小项目的,其实也可以做大项目哈,mysql还是很专业的。
一篇详细讲述mysql和access区别的好文章!
MySQL∶网站开发者的新选择
「变动」这两个字对IT业界来说是再普通不过的事了。如果今天管理阶层的主管们跟你要数据库的推荐名单,很可能在你开始执行你所推荐的方案之前,你的推荐名单上的项目就已经过时了。如此一来,你可能就要重新考虑各种软硬件方案,好让你∶
·帮你将事情完成
·买来以便帮助别人完成他们的工作
·开发以便帮助别人更好地完成他们的工作
不论你的消息有多新,在你的建议通过层层关卡,并且拿到购买资金之前,你的推荐表上的某些项目通常都会过时。幸运的是,没有人会责怪你,或者是对你反唇相讥--这是这一行里很自然的事情。数据库技术通常在你能够掌握它之前就变了。
为了适应日新月异的数据库技术,有相当多的软件工程师逐渐地从桌面数据库软件诸如MicrosoftAccess以及SQLServer,转到使用MySQL。虽然严格说来MySQL并非SQLServer的对手,但许多服务提供商都支持MySQL,并视之为便宜而有效率的替代品。
SusanSalesHarkins经常在CNET
Builder.com
发表文章,是一位精通微软Office的专家。她也是UsingMicrosoftAccess97和UsingMicrosoftAccess2000两书的作者,这两本书均由Que所出版。MartinW.P.Reid也经常在CNET
Builder.com
发表文章,是英国贝尔法斯特女王大学(Queen'sUniversity)的分析师暨程序设计员。他也指导关系型数据库设计的课程;工作之余也为北爱尔兰的一些小型企业充当数据库顾问。▲考虑使用MySQL的原因
如果你要找的是可靠的数据库软件,以便支持你的网站开发工作,那么以下的原因就说明了你为什么应该考虑MySQL而不是其它数据库∶
·它便宜(通常是免费)。
·它的网络承载比较少。
·它经过很好的优化(HighlyOptimized)。
·应用程序通过它做备份来比较简单。
·它为各种不同的资料格式提供有弹性的扩展介面(ODBC)。
·它较好学,且操作简单。
·你负担得起的客户支持费用。
▲关于“$”的问题
简单的说,你不会找到比MySQL更便宜的了。事实上,对大多数用户来说,MySQL是免费的。有时候虽然是要付出一小笔的授权费,但是这个付费规定只限于以下两种情况∶
·以内嵌(embedded)的方式使用MySQL服务器
·只使用MySQL的商业用途软件
例如,Windows版本的MySQL服务器,需要授权。虽然只付比美金$200元多一点点的费用,MySQL还是比其他任何数据库软件来得更便宜多了。OfficeXPDeveloper的零售价是美金$799元,升级版则是美金$549元。Access2002的价格是美金$339元,升级版则是美金$109元。
▲避免堵塞
针对多个使用者共同读写信息的需求,Access根本不是MySQL的对手。Access在大约十五个使用者连上来的时候,就输掉了。我们还听说过当只有五个人连上来时,就会有一些问题(这并不是说,只有五个人能够同时连上由Access数据库支持的网站)。“同时连结”(Simultaneousconnection)事实上是一种并发处理(concurrentprocess)。因此,虽然事实上Access可以处理的连结数目是无限制的,但只要那些连结保持在并发处理的范围限制内就没关系。对于只读网站(这些网站并非你想像中的少数)它可以支持到最多到255个使用者。而较大的网站,则无可避免的必须升级到SQLServer以提高稳定性和效率。
相对说来,MySQL内定最大连结数为100个使用者。但是,我们绝对不可以用一个程序的内建设定来判断它的效能。到目前为止,我们还没听说过使用MySQL的较大而且访问频繁的网站上的使用者有任何抱怨。除此之外,即使有网络上有大量的资料往来,似乎并不会对MYSQL的查询优化(queryoptimization)造成多大的影响。
在Windows98操作系统上使用相同的硬件和数据尺寸,MySQL表现得比Access2000还要快_但只是并非所有的情况下都是如此。这两者在资料更新方面的效能,有着很大的差异,同样的资料更新,Access要花上两倍的时间。如果是在高速系统上做小量的资料的处理,你不会去注意到这两者间的差异。但只有在处理的是几十万笔资料的时候,这效能上的差异才会明显。MySQL只在处理数据库对象结构(objectstructure)的时候,才会输给Access。当建立表格(table)以及索引的时候,MySqL会将表格锁住,如此一来会导致正在进行的大量资料处理速度慢下来。然而以上所提到的最后一个问题在网站开发时,通常并不会造成麻烦。因为网站上,我们所重视的是用户来访时查询的速度,而非资料储存结构本身。因此,在这个领域,MySQL胜利。
▲MYSQL其它的优点
·优化
对于MySQL的优化,我们可以说,主要的问题在于你的硬件条件,而非MySQL本身。不过对于Access,(以及其他桌面数据库软件)事情就不是这样了。没错,MicrosoftJetDatabase的确实有效率,不过它还不是最快的。如果你的数据库设计得非常差,你的网站还是会受到影响而速度变慢的。数据库结构设计也会影响到MySQL,例如,MySQL并不支持外键(foreignkey)。这个缺点会影响到你的数据库设计以及网站的效率。对于使用MySQL做数据库的网站,你应该注意的是,如何让硬盘存取IO减少到最低值、如何让一个或多个CPU随时保持在高速作业的状态、以及适当的网络带宽,而非实际上的数据库设计以及资料查询语句。事实上,有些网站开发者将MySQL称为目前市面上跑得最快的数据库。不过,当你的数据库有很多表格需要同时在一个事务过程(transaction)内完成更新的时候,MySQL的确跑得不怎么样。
·备份
如果你曾经有过抢救一个损坏的MDB档案的惨痛经验,那么你会对MySQL表示非常激赏。这是MySQL另一个胜过Access的地方。首先,mysqldump会产生一个比Access好很多而且也更可靠的备份档案。相比之下,在Access中你只是将一个MDB档拷贝起来做备份。其次,即使MySQL的备份有部分损坏,复原起来也要比一个损坏的MDB档要容易得多了。
·可延伸性(Scalability)以及资料处理能力
套句登山者的话来说,将Access数据库来跟MySQL相比,简直就是像把印第安那的小山丘拿来跟科罗拉多洛矶山脉的Pike'sPeak顶相比较。事实就是这么简单∶MySQL可以处理的档案比Access所能处理的档案大很多。如果你硬将Access数据库弄到100MB的MDB档案时,你要准备好一个字典厚的纪录本来记录来自客户对于网站效率低下的抱怨。而类似的数据库在MySQL上面跑,就不会发生承载过重的迹象。
另外,MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。
没错,MicrosoftActiveXDataObjectsLibrary(ADO)的确使得Access在外部资料市场(foreigndatamarket)上能够做更具弹性的应用。它能够让你不用管资料的所在位置而取出资料,然后在公用的介面上(即网页浏览器)将资料显示出来。不过,其坏处是ADO毕竟是比较笨重(它本身就是个资源大杂烩)而且学习它要花不少的金钱跟时间,就算你是一个能力不错的开发工程师或者软件工程师也一样。没有人能在一天内将ADO学会。
▲学习曲线
如果你已经熟悉数据库技术,那么基本上你已经没什么问题了。精通数据库的人在一天之内就可以把MySQL学会,把这个经验加到他的履历表里面去。相较之下,Access是个复杂得多的数据库及开发工具。即使是一个能力不错的开发工程师也需要一段时间才能具备足够的专业知识,有效地使用这个软件。
正如你期待的,MySQL支持结构化查询语言(StructuredQueryLanguage,SQL)。如果你已经学会某种版本的SQL语言,事情会好办很多。具有VB或者是VBA知识背景的开发工程师会发现,他们以前所具备的ASP背景,能够帮助他们缩短学习时间。
▲客户支持
虽然好用而且免费的客户支持已不存在,然而MySQL倒提供了一些电子群组名单供您参考。有一些是颇具技术性的,而且会员们往往互相提供最佳的客户支持--他们彼此分享经验和专业知识。此外,你还可以购买具有客户支持的版本,包括email支持或者电话支持的方式。大致上来说,客户支持费率并非固定的,因此我们无法提供你相关价位的信息。
▲MySQL的不足之处
Access是一个关联性数据库管理系统(RDBMS),然而MySQL并非在每一个层面都是如此。这表示,虽然MySQL很好用,它还不是最好的。以下列表记录了目前关联性层面以及管理层面,MySQL尚未支持的部分:
MySQL没法处理复杂的关联性数据库功能,例如,子查询(subqueries),虽然大多数的子查询都可以改写成join。我们期待下一版出来时,这项功能会被加进来。
另一个MySQL没有提供支持的功能是事务处理(transaction)以及事务的提交(commit)/撤销(rollback)。一个事务指的是被当作一个单位来共同执行的一群或一套命令。如果一个事务没法完成,那么整个事务里面没有一个指令是真正执行下去的。对于必须处理线上订单的商业网站来说,MySQL没有支持这项功能,的确让人觉得很失望。但是可以用MaxSQL,一个分开的服务器,它能通过外挂的表格来支持事务功能。
外键(foreignkey)以及参考完整性限制(referentialintegrity)可以让你制定表格中资料间的约束,然后将约束(constraint)加到你所规定的资料里面。这些MYSQL没有的功能表示一个有赖复杂的资料关系的应用程序并不适合使用MySQL。当我们说MySQL不支持外键时,我们指的就是数据库的参考完整性限制--MySQL并没有支持外键的规则,当然更没有支持连锁删除(cascadingdelete)的功能。简短的说,如果你的工作需要使用复杂的资料关联,那你还是用原来的Access吧。
你在MySQL中也不会找到存储进程(storedprocedure)以及触发器(trigger)。(针对这些功能,在Access提供了相对的事件进程(eventprocedure)。)
Access的GetRows功能,提供了较好的资料拾取。
▲总结
下面这个表格能让你对于MySQL,Access,以及SQLServer大致上比起来是怎么样有个基本概念:
□访问频繁的网站
·MySQL√
·Access√**
·SQLServer√
□复杂的资料关联
·MySQL×
·Access√
·SQLServer√
□在线订单处理
·MySQL√*
·Access√***
·SQLServer√
□兼容性
·MySQL×
·Access√****
·SQLServer√
□易于使用及操作
·MySQL√
·Access×
·SQLServer×
注:
*需要MaxSQL
**前提是资料只读的话
***通过JetSQL获得的附加功能
****因为只有ADO
如果你需要使用复杂的数据库,并且有很多资源和金钱,那么你就用SQLServer吧。如果你仍旧需要复杂的数据库但是却没有雄厚的后援,那么用Access看看。至于其他的人,至少应该给MySQL一个使用的机会吧!
logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多
- 官方电话
-
官方服务
- 官方网站
- 八戒财税
- 知识产权
- 八戒服务商
- 企业需求
- 数字市场