mysql选择所有数据库_选择正确的数据库:MySQL与其他所有内容

我之前已经发布过,但是我没有理由改变这个建议:

MySQL更容易开始使用。

Nicer UI工具。更快,如果不使用ACID。更容忍无效数据。自动增量列与打字自动增量一样简单。权限与文件系统和操作系统用户没有任何关系。在编写存储过程时,设置分隔符比使用PG的“美元符号引用”更容易。在MySQL中,您连接到所有数据库,而不仅仅是一个数据库。

Postgres(PG)符合标准要求更高,但更糟糕和更复杂,特别是从UI的角度来看。它曾经需要手动抽真空,实际上强制引用完整性(这是一件伟大的事情,可能是屁股的痛苦)。自动增量更灵活,但需要序列(我可以使用序列屏蔽),等待,什么是OID?

因此,如果您不太了解或关心数据库,数据有效性,ACID合规性等,但是您关心轻松快捷,则您倾向于使用MySQL。

太多(不是全部,但很多)“Web程序员”了解很多关于“web 2.0”或PHP或Java,但不太了解数据库理论或实践(“一个索引是什么?”)。他们倾向于将数据库视为只是一个花哨的哈希表或数据包,实际上并不像任何一个动态变化或宽容的哈希表一样。

对于这些人,MySQL – 因为直到5.0它不是一个真正的RDBMS,在许多方面仍然不是 – 是一个天赐。它比竞争对手“快”,并不会浪费时间在网络程序员不想要,理解或看到价值的“深奥”数据库的东西。

对于具有数据库背景的人,另一方面,MySQL是一个雷区:应该工作的东西(复杂的视图,分组旁路,分组旁边的命令)可能会工作,或者如果幸运的是服务器崩溃,或者如果你不幸的是只是给出不正确的数据结果。

我已经花了几天的时间来解决一些这些事情,诚然复杂的并不是非常复杂的观点和集体的旁观者。

而MySQL并不是那么快。如果您使用InnoDb表作为ACID(或仅仅因为超过30万行,MyISAM表往往会变得很糟糕),是的,直接的单表选择可能比PG更快。但加入连接,PG突然明显更快。 (MySQL在外连接时尤其糟糕)

总而言之:如果你对数据库是一个包,如果你从来没有打算做数据挖掘或报告,如果你最感兴趣的是提供很多关系或更新的大块文本 – 也就是说,如果你是使用数据库为博客提供支持,MySQL是一个很好的选择。

但是,如果您实际管理数据,如果您了解数据寿命更长,对于业务而言比前端程序和中间层业务规则更有价值,那么如果需要实际数据库的功能,请使用PG。

决定所有桌面结构的“Web程序员”可以由Hibernate(或其他一些ORM)自动生成,并且说“太复杂”,“我打赌复杂意味着更多的成本和更慢的速度”,所以他跟MySQL一起去

正如我所说,PG是非常优秀的,我讨厌与MySQL的奇怪的错误,我认为,整体PG性能可能比MySQL更好的任何甚至稍微复杂的查询。

但是,MySQL让事情看起来(欺骗性)很简单,所以你得到很多不太了解数据库设计的人,认为MySQL是一个很好的选择。

使用PG。它是一致的,它是可靠的,它是符合标准的,它更快(甚至中等)复杂的查询,它不会完全抛弃你的计划与奇怪的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值