当前位置: 首页 > 知识库问答 >
问题:

oracle究竟比mysql快在哪?

东门宜
2023-06-27

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

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

共有1个答案

邴墨竹
2023-06-27

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

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

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


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

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


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

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

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


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

 类似资料:
  • 我知道React的虚拟DOM更快有两个理由- > 它只更新那些实际需要更新的元素(使用diff)。 它批量更新,因此我们只更新一次真正的DOM。因此,重新喷漆也只能进行一次,否则会进行多次。 我对这两点都有疑问- > 据我所知,所有现代浏览器的效率都足以只更新DOM中所需的元素。例如,如果我有两个“p”标记,并且我使用按钮单击更改其中一个p标记中的文本,那么safari将只更新该p标记(我已使用油

  • 本文向大家介绍探究iOS多线程究竟不安全在哪里?,包括了探究iOS多线程究竟不安全在哪里?的使用技巧和注意事项,需要的朋友参考一下 前言 共享状态,多线程共同访问某个对象的property,在iOS编程里是很普遍的使用场景,我们就从Property的多线程安全说起。 Property 当我们讨论property多线程安全的时候,很多人都知道给property加上atomic attribute之后

  • 问题内容: HashMap中的Hash Collision或Hashing Collision并不是一个新话题,我遇到了多个博客和讨论区,解释了如何产生Hash Collision或如何以模棱两可和详细的方式避免它。我最近在一次采访中遇到了这个问题。我有很多事情要解释,但我认为准确地给出正确的解释真的很困难。抱歉,如果我在这里重复我的问题,请给我准确的答案: 哈希冲突到底是什么?它是一项功能或常见

  • 问题内容: 这是我在React中经常遇到的问题。保证在首次渲染组件时会触发该方法,因此似乎很自然地进行高度和偏移之类的DOM测量。但是,在组件生命周期的这一点上,很多时候我收到错误的样式读数。该组件 是 在DOM,当我与调试器打破,但它尚未在屏幕上绘制。我将宽度/高度大部分设置为100%的元素遇到了这个问题。当我进行测量时-一切正常,但是此方法在组件的初始渲染时不会触发。 所以我的问题是-何时确切

  • 问题1:然后我设置img1 是top img2 是bottom为啥最后文字是在上面的 然后我改了 img1 为bottom img2为top 文字就下来了 这个文字究竟是在哪 当然还有其他的middle等现象,我也是无法解释的

  • 实际上,恰恰是专有软件的理念--不允许共享或改动软件--是反社会的,也是不道德的,而且也是完全错误的。但是长期以来,软件出版商使人们相信:软件天生就该如此。这种片面的认识禁锢了人们的思维。当他们在谈论如何加强版权或打击盗版时,他们也认定这是天经地义,人们也会毫无异议地接受。 他们的第一个假设就是:软件公司对自己的软件拥有毫无疑问的天然权力,因而可以将权利施加到所有用户身上。(因为如果是天然权力,那