用法:/*+parallel(table_short_name,cash_number)*/
可以加到insert、delete、update、select的后面来使用
比如:select /*+paralle(t,32)*/ from table t table_short_name使用别名,Parallel后面的数字,越大,执行效率越高,一般用8,10,12,16,32。不过,数值越大,占用的资源也会相对增大。如果在查询where后的条件有加索引查询效率会大大提高。
Oracle Parallel用法Oracle技术 2011-03-23 15:51:08 阅读105 评论0 字号:大中小 订阅 .\x0d\x0a\x0d\x0a一、Parallel\x0d\x0a\x0d\x0a1. 用途\x0d\x0a\x0d\x0a强行启用并行度来执行当前SQL。这个在Oracle 9i之后的版本可以使用,之前的版本现在没有环境进行测试。也就是说,加上这个说明,可以强行启用Oracle的多线程处理功能。举例的话,就像电脑装了多核的CPU,但大多情况下都不会完全多核同时启用(2核以上的比较明显),使用parallel说明,就会多核同时工作,来提高效率。\x0d\x0a\x0d\x0a但本身启动这个功能,也是要消耗资源与性能的。所有,一般都会在返回记录数大于100万时使用,效果也会比较明显。\x0d\x0a\x0d\x0a2. 语法\x0d\x0a\x0d\x0a/*+parallel(table_short_name,cash_number)*/\x0d\x0a\x0d\x0a这个可以加到insert、delete、update、select的后面来使用(和rule的用法差不多,有机会再分享rule的用法)\x0d\x0a\x0d\x0a开启parallel功能的语句是:\x0d\x0a\x0d\x0aalter session enable parallel dml\x0d\x0a\x0d\x0a这个语句是DML语句哦,如果在程序中用,用execute的方法打开。\x0d\x0a\x0d\x0a3. 实例说明\x0d\x0a\x0d\x0a用ERP中的transaction来说明下吧。这个table记录了所有的transaction,而且每天数据量也算相对比较大的(根据企业自身业务量而定)。假设我们现在要查看对比去年一年当中每月的进、销情况,所以,一般都会写成:\x0d\x0a\x0d\x0aselect to_char(transaction_date,'yyyymm') txn_month,\x0d\x0a\x0d\x0a sum(\x0d\x0a\x0d\x0adecode(\x0d\x0a\x0d\x0asign(transaction_quantity),1,transaction_quantity,0\x0d\x0a )\x0d\x0a\x0d\x0a ) in_qty,\x0d\x0a\x0d\x0a sum(\x0d\x0a\x0d\x0adecode(\x0d\x0a\x0d\x0asign(transaction_quantity),-1,transaction_quantity,0\x0d\x0a )\x0d\x0a\x0d\x0a ) out_qty\x0d\x0a\x0d\x0a from mtl_material_transactions mmt\x0d\x0a\x0d\x0a where transaction_date >= add_months(\x0d\x0a\x0d\x0ato_date(\x0d\x0a\x0d\x0ato_char(sysdate,'yyyy')||'0101','yyyymmdd'),\x0d\x0a\x0d\x0a-12)\x0d\x0a\x0d\x0a and transaction_date 回答于 2022-11-16问题如下:
ORACLE的多线程体现在DML上 在 *** 作时, 如果见到/* +*/ (平时写备注、评论块的/**/符号中有加号, 那么则表明了使用Oracle Hint. /*+ parallel(表名,并发数)*/ (有时候写作Append parallel,或者有时候直接写Append) .
从开发的角度看:
ORACLE多线程可以提高某些语句查询的速度(不是一定的,取决于你的核,和服务器, 我原本有一些材料可以图示进程数和速度的关系,可惜一时找不到, 如果需要可以再联系)。具体使用时, 做几个测试 看看速率提高多少。。
从数据库整体来看:
多线程并不是优化了你的查询速率, 而是使用了更多数据库的资源(其他用户或者进程的资源)换来你的语句速率的提高。 联系一下你的DBA, 因为很有可能你用了多进程后,从DBA的EM上会发现你资源在某时间段内用的很高,甚至会给出警告。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)