首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgreSQL mysql oracle差异

postgreSQL mysql oracle差异
EN

Stack Overflow用户
提问于 2008-10-19 16:16:44
回答 4查看 4.9K关注 0票数 7

我必须开始为数据库项目构建架构,但我真的不知道引擎之间的区别。

任何人都能解释这三个引擎的优点和坏处?我们必须选择其中之一,而我对他们唯一了解的就是:

  • Mysql & Postgres:
    • 是免费的,但不如甲骨文好
    • Mysql作为安全问题(这是真的吗?)

  • 甲骨文:
    • 世界上最好的数据库引擎

有人能消除他们之间的其他差异吗?这是一个中等/大型(我们正在考虑大约100到200个表)的低预算项目,你会选择什么?还有更高的预算?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-10-20 00:46:11

几年前,我不得不编写一个翻译引擎;您为它提供一组sql,它将转换成当前连接的引擎的方言。我的引擎工作在Postgres (AKA PostgreSql)、Ingres、DB2、Informix、Sybase和Oracle和ANTS上。坦白地说,Oracle是我最不喜欢的(下面更多).不幸的是,对于您来说,mySql和Server不在列表中(当时两者都不被认为是真正的关系数据库管理系统-但时间确实在变化)。

不考虑引擎的质量或性能--以及制作和恢复备份的容易程度--以下是区别的主要方面:

  • 数据类型
  • 限制
  • 残废者
  • 保留字
  • null语义(见下文)
  • 引号语义(单引号',双引号",或两者之一)
  • 语句完成语义
  • 功能语义
  • 数据处理(包括常量关键字如“now”和输入/输出函数格式)
  • 是否允许内联注释
  • 最大属性长度
  • 最大属性数
  • 连接语义/安全范例。

在不让您对所有转换数据感到厌烦的情况下,下面是一个数据类型lvarchar的示例:

oracle=varchar(%x) sybase=text db2="long varchar“informix=lvarchar postgres=varchar(%x) ants=varchar(%x) ingres=varchar(%x,%y)

在我看来,最大的问题是null处理;Oracle悄悄地将空输入字符串转换为空值。...Somewhere,很久以前,我读过一篇关于“null的十七个意义”的文章,真正的观点是,空字符串和空字符串之间的区别是有用的和不平凡的!我认为Oracle在这个问题上犯了一个巨大的错误;其他人都没有这种行为(我从未见过)。

我第二个最不喜欢的是蚂蚁,因为它们与其他所有的蚂蚁不同,它们执行的完美语法的愚蠢规则是绝对没有其他人做的,虽然它们可能是唯一一家提供完美遵循标准的DB公司,但它们也是编写代码的巨大痛苦。

我最喜欢的是Postgres;它在_real_world_环境下非常快速,有很好的支持,并且是开源/免费的。

票数 12
EN

Stack Overflow用户

发布于 2008-10-19 16:28:23

不同SQL实现之间的差异很大,至少在幕后是如此。这块木板不足以计算所有的数字。

如果你必须问,你也必须问自己,你是否有能力就这件事作出有效和有根据的决定。

比较von和Postgres可以在这里找到

请注意,甲骨文还提供了一个特快(XE)版,功能有所减少,但可以免费使用。另外,如果你一开始就没有什么知识,你就得学会自己,我会选择任何一个,然后开始学习。

票数 4
EN

Stack Overflow用户

发布于 2008-10-19 16:25:22

参见维基百科上的比较表:系统 && 系统

甲骨文可能是最好的,也可能不是最好的。它很贵,但这并不意味着最好。

你看过DB2吗?赛贝斯?泰拉蒂?SQL?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/216601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档