暂无图片
Oracle数据库何时使用并行执行?
我来答
分享
三阳
2023-03-16
Oracle数据库何时使用并行执行?

Oracle数据库何时使用并行执行?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

并行执行可能很神奇。一个过程原本需要执行数小时或者数天,通过使用并行执行,可能几分钟内就可以完成。将一个大问题分解为小部分,这在有些情况下可以显著地减少处理时间。不过,考虑并行执行时,要记住一个基本概念:并行查询(Parallel Query)选项本质上是不可扩展的。

简单地说,并行执行也可能是一个很糟糕的想法,在许多情况下,应用并行处理后,可能只会带来资源占用的增加,因为并行执行试图使用所有可用的资源。在一个系统(如OLTP系统)中,如果资源必须由多个并发事务所共享,你就会观察到,并行执行可能导致响应时间增长。它不会采用某些在串行执行计划中比较高效的方法,而倾向于采用诸如全表扫描这样的访问路径,希望能把较大的批量操作划分为多个子集,然后并行地处理每个子集,从而优于串行计划。但是如果并行执行应用不当,不仅不能解决性能问题,反而会成为性能问题的根源。

所以,在应用并行执行之前,需要保证以下两个前提成立。

1. 必须有一个非常大的任务,如对50GB数据进行全表扫描。

2. 必须有足够的可用资源。在对50GB数据进行并行全表扫描之前,要确保有足够的空闲CPU处理并行进程,还要有足够的I/O能力。50GB数据可能分布在多个物理磁盘上(而不只是一个物理磁盘),以允许多个并发读请求能同时发生,从磁盘到计算机还要有足够多的I/O通道,以便能并行地从磁盘获取数据等。

如果只有一个小任务(通常OLTP系统执行的查询就是这种典型的小任务),或者可用资源不足(这也是OLTP系统中很典型的情况),其中CPU和I/O资源通常已经得到最大限度的使用,那就根本不用考虑并行执行。

暂无图片 评论
暂无图片 有用 4
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
請教下,開放性問題,面試官問db夯住了怎麼處理。這怎麼回答?
回答 3
已采纳
这是我当时写的一个文章,可以参考:《Oracle数据库出现问题时,这十个脚本帮你快速定位原因》https://www.modb.pro/db/15915
如果打断Oracle shrink space cascade会有影响吗?
回答 3
排队学习新知识。。。。。。。。。。。
Oracle 一个表数据量大约几百条, 查询这个表需要几分钟是什么问题?
回答 3
几百条数据,具体到该表有多少数据库块,如果是全表扫的话,是不是该表水位太高了?而且需要结合你sql真实的执行计划,分析瓶颈是在哪里。可以根据统计信息中的平均行长预估下该表的大小与segment大小对比
oracle rac tts传输表空间 ORA-19721
回答 2
嗯这个文章是也是我事后做的实验。根据网上和实验得出,可能和表空间中的文件有关。我报错的环境是rac中表空间有多个数据文件,而我的环境中网络传输很慢。所以我只是拷贝了一个数据文件到对端。而后来这次是我重
现在的国产数据库哪家公司的好用?
回答 4
国内产品现在除了老四家外,TiDB、OceanBase、TDSQL等这几家大厂的产品也可作为选型参考。产品的选型主要看您的需求,目前向国产化靠拢基本是以下几个需求:1)国产数据库产品调研需求;2)自主
ORACLE从windows迁移到linux,启动后,有很多ora_p0*进程
回答 4
oracle跨平台迁移不要用rman,要用expdp。虽然大家技术高超,也许能迁移成功,但也可能会有很多未知bug产生。
Oracle varchar2变长 , varchar2(10)和varchar2(100)有什么区别?
回答 5
已采纳
猜测:varchar在数据存储的时候会记录一个指针初始位置和最大值当去读取数据的时候,会根据指针和最大值去进行数据读取和探查所以当varchar很长的时候,一方面不能很好的规范前台数据存储,另外一方面
为啥重启数据库又变回磁盘了?
回答 1
当前是notmounted状态,数据库mount或open后再查查
oracle的这几个程序包, sql server要检查是否有, 在哪里可以查看?
回答 2
已采纳
sqlserver可以创建oracle的链接服务器,创建了链接服务,就可以访问oracle数据库了。
关于rac监听状态查询
回答 1
最好有一些截屏,比如表示:监听是grid用户启动的,如何启动的,用lsnrctl还是srvctl?尝试过修改权限,是修改成怎样的权限?查看监听状态用的是什么命令?用lsnrctl还是srvctl?无法