Oracle 相比 mysql 的优势在哪里

2021-04-27 17:32:47 +08:00
 mygreens

目前的项目用的 mysql,支撑几十亿数据没问题(分库分表),偶尔慢 sql 也能优化索引解决,至于复杂查询通过搜索引擎实现,听说 Oracle 超级贵,那 Oracle 具体有什么优势呢,哪些场景下是 oracle only 的?

14099 次点击
所在节点    数据库
119 条回复
libook
2021-04-27 18:55:51 +08:00
@chenqh #18 其实现在很多系统不一定非要用一种数据库来实现,可以尝试把需求进行拆分,然后用几种不同特性的数据库、中间件来分别发挥其擅长的特性,从而做到整体系统性能的提升。
LeeReamond
2021-04-27 18:58:30 +08:00
@mmdsun 前三名除了 oracle 和 mysql 剩下的是哪个?
darknoll
2021-04-27 19:03:09 +08:00
@LeeReamond 当然是 sql server
LeeReamond
2021-04-27 19:06:04 +08:00
@darknoll pg 不配拥有姓名
bruce0
2021-04-27 19:07:51 +08:00
@LeeReamond 巨硬家的 sqlserver? 我也不太清楚

还有 好像开源的 postgre 好像也不错 号称开源的 oracle 不知道真假
S2Line
2021-04-27 19:09:49 +08:00
Oracle 除了贵,应该大部分方面都比 MySQL 强
zhujq
2021-04-27 19:17:43 +08:00
除了贵点,其他都挺好的
est
2021-04-27 19:18:15 +08:00
oracle 的主要优势是付费甩锅。所有 db 问题可以由技术支持搞定。

mysql 主要看保养得如何。没人管的 innodb 比较烧机油。
jmychou
2021-04-27 19:23:42 +08:00
充钱和不充钱的区别
dynastysea
2021-04-27 19:30:57 +08:00
oracle 对开发人员的容忍度高,简单来说就是开发人员写了一堆低质,无索引,超级复杂的 sql,oracle 可能都能给你处理好。但实际上在现如今互联网从业人员素质普遍比较高的情况下,各种组件百花齐放的情况下,oracle 的优势已经不明显了,以前只能依赖 oracle 解决的问题,现在都已经有高好的替代方案了。

另外 mysql 也没有大家说的那么差,不要用原生的 mysql 看待当今的数据库(比如有人觉得 mysql 支持不了单表过亿的数据),多看看 Aurora,polardb 、tidb 、oceanbase,这些数据库很多方面也做的不错了。

oracle 真没大家想象的那么无坚不摧,这么说吧,极端情况下(比如美国禁售 oracle ),oracle 数据库绝对都是可以代替的。现在国内也是在去 O 进行中,这个的难度在于要业务配合该代码(这个说起来的原因就多了,现在很多数据库也兼容大多数 oracle 的用法, 但不是 100%,因为 oracle 发展几十年,有些很落后,不合理的语法在现如今是没必要去兼容的),所以导致去 O 的进度比较缓慢。事实上现如今新增的系统采用 oracle 的已经极少了,互联网已经绝迹了(互联网基本拥有比较高素质的开发,拥有比较高的 sql 素质,比如知道更合理的使用索引,优化复杂 sql )。

这里也没有贬低 oracle 的意思,只是想说在百花齐放的现如今,没必要无脑跪舔 oracle,属于 oracle 的时代已经过去了,大家可以用发展的眼光多看待问题。
shakoon
2021-04-27 19:31:30 +08:00
Oracle 支撑几十亿数据也没问题,而且不用分库分表 😉
KarmaWu
2021-04-27 19:34:32 +08:00
面试官:数据库怎么优化?
我:对不起,我们用的是 Oracle
leafre
2021-04-27 19:57:32 +08:00
支撑几十亿数据,分库分表,业务复杂增加了多少成本
love
2021-04-27 19:58:54 +08:00
楼上说的太玄乎了吧,什么无索引都能正常用,什么不用分库分表,这还用的同一种计算机吗?还是有把 btree 什么的开源数据库用的算法踩到脚下的神奇算法?这种牛逼算法有专利开源界不能用?
JerryCha
2021-04-27 20:33:18 +08:00
花钱能让 Oracle 当孙子
花钱也能让自家开发者当孙子提高 MySQL 上限
但甲方家里没有开发者,甲方听说你们公司成立至今才不到十年,主要从事基于 MySQL 的数据库开发与服务,目前的客户业务规模不算很大。甲方也听说甲骨文已经有几十年的 DB 研发与调优经验,经过了好多大公司的认可。
甲方看了看账户上十一位数的流动资金,并快速地在脑海里算了一遍以去年营收计的每秒收入,给 Oracle 的销售打了个电话。
yzzwj
2021-04-27 21:22:59 +08:00
Oracle 收费,MySQL 不收费。出问题了可以甩锅给 Oracle,MySQL 只能自己背
oldmanong
2021-04-27 21:24:20 +08:00
估计楼主是年轻的程序员,MySQL 影响根深蒂固,对商业数据库没有概念。实际上在以前,MySQL 就是个玩具,还没有可以生产应用的版本。一直到 5.0 出来,才基本具备生产性。最近看到微博上有人问为什么手机不发明可拆卸电池,更换方便,很楼主的问题其实是一样的
CRVV
2021-04-27 21:30:31 +08:00
我没用过 Oracle,但对 PostgreSQL 还算比较熟悉

只要分别读一下 MySQL 和 PostgreSQL 的文档就能看到很大的差别了。
比如 TEXT JSON DATETIME 这些类型的定义和功能。
PostgreSQL 还带一大堆好像没人在用的高端功能。

在性能上,如果会手写稍微复杂一点的 SQL,随便玩一下就能看出来差别了,PostgreSQL 可能会快非常多。比如嵌套几层的子查询,比如多个表的 JOIN,比如有多个索引和多个筛选条件。
如果只在最普通的索引上写最简单的查询,SELECT * FROM table1 JOIN table 2 ON table1.id = table2.table1_id WHERE table1.id = x 这种的,传说 MySQL 比较快。

传说在这些方面 Oracle 都比 PostgreSQL 更厉害一些。
echowuhao
2021-04-27 21:37:02 +08:00
别的不说,oracle 的文档你看看比 mysql 好多少。
jones2000
2021-04-27 21:46:03 +08:00
优势就再一个字 “贵"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/773654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX