oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
生活随笔
收集整理的這篇文章主要介紹了
oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[size=medium][color=red][b] 1.用途[/b][/color][/size]
強(qiáng)行啟用并行度來執(zhí)行當(dāng)前SQL。這個(gè)在Oracle 9i之后的版本可以使用,之前的版本現(xiàn)在沒有環(huán)境進(jìn)行測(cè)試。也就是說,加上這個(gè)說明,可以強(qiáng)行啟用Oracle的多線程處理功能。舉例的話,就像電腦裝了多核的CPU,但大多情況下都不會(huì)完全多核同時(shí)啟用(2核以上的比較明顯),使用parallel說明,就會(huì)多核同時(shí)工作,來提高效率。 但本身啟動(dòng)這個(gè)功能,也是要消耗資源與性能的。所以,一般都會(huì)在返回記錄數(shù)大于100萬時(shí)使用,效果也會(huì)比較明顯。
[size=medium][color=red][b] 2.語法[/b][/color][/size]
/*+parallel(table_short_name,cash_number)*/ 這個(gè)可以加到insert、delete、update、select的后面來使用(和rule的用法差不多,有機(jī)會(huì)再分享rule的用法)
開啟parallel功能的語句是:
alter session enable parallel dml;
這個(gè)語句是DML語句哦,如果在程序中用,用execute的方法打開。
SELECT /*+PARALLEL(n)*/ * FROM table
查看Oracle能利用的最大并行度
SQL> show parameters cpu
NAME TYPE VALUE
------------------------------------ ----------- -------
cpu_count integer 8
parallel_threads_per_cpu integer 2
resource_manager_cpu_allocation integer 8
值得注意的是,在實(shí)際使用中,計(jì)算機(jī)除了運(yùn)行Oracle外,同時(shí)還在運(yùn)行其他程序(如系統(tǒng)程序)。因此,用PARALLEL調(diào)用CPU線程值應(yīng)設(shè)定為小于最大CPU線程的數(shù)值(筆者一般采用的值為:CPU線程總數(shù)-2)以避免將所有CPU資源強(qiáng)行分配給Oracle使用后導(dǎo)致系統(tǒng)無響應(yīng)等情況發(fā)生。
強(qiáng)行啟用并行度來執(zhí)行當(dāng)前SQL。這個(gè)在Oracle 9i之后的版本可以使用,之前的版本現(xiàn)在沒有環(huán)境進(jìn)行測(cè)試。也就是說,加上這個(gè)說明,可以強(qiáng)行啟用Oracle的多線程處理功能。舉例的話,就像電腦裝了多核的CPU,但大多情況下都不會(huì)完全多核同時(shí)啟用(2核以上的比較明顯),使用parallel說明,就會(huì)多核同時(shí)工作,來提高效率。 但本身啟動(dòng)這個(gè)功能,也是要消耗資源與性能的。所以,一般都會(huì)在返回記錄數(shù)大于100萬時(shí)使用,效果也會(huì)比較明顯。
[size=medium][color=red][b] 2.語法[/b][/color][/size]
/*+parallel(table_short_name,cash_number)*/ 這個(gè)可以加到insert、delete、update、select的后面來使用(和rule的用法差不多,有機(jī)會(huì)再分享rule的用法)
開啟parallel功能的語句是:
alter session enable parallel dml;
這個(gè)語句是DML語句哦,如果在程序中用,用execute的方法打開。
SELECT /*+PARALLEL(n)*/ * FROM table
查看Oracle能利用的最大并行度
SQL> show parameters cpu
NAME TYPE VALUE
------------------------------------ ----------- -------
cpu_count integer 8
parallel_threads_per_cpu integer 2
resource_manager_cpu_allocation integer 8
值得注意的是,在實(shí)際使用中,計(jì)算機(jī)除了運(yùn)行Oracle外,同時(shí)還在運(yùn)行其他程序(如系統(tǒng)程序)。因此,用PARALLEL調(diào)用CPU線程值應(yīng)設(shè)定為小于最大CPU線程的數(shù)值(筆者一般采用的值為:CPU線程總數(shù)-2)以避免將所有CPU資源強(qiáng)行分配給Oracle使用后導(dǎo)致系統(tǒng)無響應(yīng)等情況發(fā)生。
總結(jié)
以上是生活随笔為你收集整理的oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在线查毒网站
- 下一篇: 相机模型-鱼眼模型/Omnidirect