oracle究竟比mysql快在哪?

作者站长头像
站长
· 阅读数 6

同样一个1000w的表,都有业务字段所索引为什么oracle查起来很轻松,mysql就建议分库分表了。

是索引实现的区别导致的吗?还有底层IO读取的优化上的区别?还有哪些区别?网上查的资料,讲的都太虚了,没讲到本质上

回复
1个回答
avatar
test
2024-07-01

不可能给你讲到本质上,oracle 是商业闭源产品,不可能让你知道实现细节。内部人员也不敢讲,毕竟公司机密

是索引实现的区别导致的吗?还有底层IO读取的优化上的区别?还有哪些区别?—— 可以理解为 oracle 给特定查询做特定优化,比如 mysql 给特定场景的优化数为 10 ,oracle 这坨维护了几十年的屎山,就有 1000 个

你可以研究研究 pgsql 和 mysql 的区别倒是可以的


1000w 要分表这个结论,放到 20 年前的 HDD 时代,或许成立,现在是 SSD 时代了,磁盘的顺序读写尤其是随机读写能力已经增长了 n 倍+,这个结论早就不成立了

我现在有一个项目表,体积已经 100GB+,超过 1 亿行了,通过合理的索引,依然可以实现毫秒级别的查询


对于 99% 的数据库查询,瓶颈都是在磁盘,衡量磁盘指标有三个:

  • 顺序读写能力
  • 随机读写能力
  • IOPS

HDD 的顺序读写能力在 40-300MBps,SSD 在 500-7500MBpsHDD 的随机读写能力在 0.5-2MBps,SSD 在 50-300MBpsHDD 的IOPS能力在 小几十,SSD 在 10w-300w


而且,「oracle比mysql快」这个特点在「互联网」场景下,可以说是毫无意义的。所以你完全不需要去了解为什么「oracle比mysql快」

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容