日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)OceanBase教程:OceanBase與并行執(zhí)行相關(guān)的Hint

PARALLEL Hint

?PARALLEL? Hint 是語句級的 Hint,用來指示優(yōu)化器指定并行操作可使用的并行線程的數(shù)量。此 Hint 將覆蓋初始化參數(shù) ?PARALLEL_DEGREE_ POLICY? 的值。該 Hint 適用于語句的 ?SELECT?、?INSERT?、?MERGE?、?UPDATE? 和 ?DELETE? 部分,以及表掃描的部分。如果違反了任何的并行限制,則 ?PARALLEL? Hint 被忽略。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的浦口網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

以下是 ?PARALLEL? Hint 的語法:


/*+ PARALLEL(integer) */

注意 
如果還進行了排序或分組操作,那么可以使用的線程數(shù)量是 ?
PARALLEL? Hint 中的值的兩倍。

?PARALLE ?Hint 中參數(shù) integer 的值用來指定并行度。

以下示例中,指定數(shù)據(jù)庫的并行度為 5:


SELECT /*+ PARALLEL(5) */ last_name
  FROM employees;

USE_PX Hint

?USE_PX? Hint 強制指示服務(wù)器在執(zhí)行 SQL 語句時使用 PX 模式,PX 模式允許在執(zhí)行語句時采用多線程方式。一般 ?USE_PX? Hint 和 ?PARALLEL? Hint 配合使用。

以下是 ?USE_PX? Hint 的語法:


/*+ USE_PX  */

示例如下:


SELECT /*+ USE_PX PARALLEL(4)*/ e.department_id, sum(e.salary)
 FROM employees e
 WHERE e.department_id = 1001;
 GROUP BY e.department_id;

NO_USE_PX Hint

?NO_USE_PX? Hint 強制指示服務(wù)器在執(zhí)行 SQL 語句時避免使用 PX 模式。

以下是 ?NO_USE_PX? Hint 的語法:


/*+ NO_USE_PX  */

示例如下:


SELECT /*+ NO_USE_PX*/ e.department_id, sum(e.salary)
 FROM employees e
 WHERE e.department_id = 1001;
 GROUP BY e.department_id;

PQ_DISTRIBUTE Hint

?PQ_DISTRIBUTE? Hint 指示優(yōu)化器怎樣在程序(查詢)服務(wù)器和消耗(負載)查詢服務(wù)器之間分配行。您可以通過該 Hint 控制聯(lián)接或負載的行分布?PQ_DISTRIBUTE? Hint 的語法:


/*+ PQ_DISTRIBUTE
  ( [ @ queryblock ] tablespec 
    { distribution | outer_distribution inner_distribution }
  ) */

控制負載的分配

您可以控制并行語句 ?INSERT ... SELECT? 和并行語句 ?CREATE TABLE ... AS SELECT? 的行分布,以此來確定如何在程序(查詢)服務(wù)器和消耗(負載)服務(wù)器之間進行行分配。使用語法的上分支來指定分發(fā)方法。分布方法的值及其語義如下表所示:

分布方法

說明

NONE

沒有分配。即將查詢和負載操作組合到每個查詢服務(wù)器中。所有服務(wù)器將加載所有分區(qū)。這種分配方法的缺失有助于避免在沒有偏離的情況下行分配的開銷。由于空段或語句中的謂詞會過濾掉查詢評估的所有行,因此可能會發(fā)生偏離。如果由于使用此方法而發(fā)生偏斜,則請改用 RANDOM 或 RANDOM_ LOCAL 分布。

注意 

請謹(jǐn)慎使用此分配方法。每個進程加載的 PGA 內(nèi)存最少需要 512 KB。如果還使用壓縮,則每臺服務(wù)器消耗大約 1.5 MB 的 PGA 內(nèi)存。

PARTITION

此方法使用 tablespec 的分區(qū)信息將行從查詢服務(wù)器分發(fā)到消耗服務(wù)器。當(dāng)不可能或不希望將查詢和加載操作組合在一起時和當(dāng)正在加載的分區(qū)數(shù)量大于或等于加載服務(wù)器的數(shù)量并且輸入數(shù)據(jù)將均勻地分布在正在加載的分區(qū)之間(即沒有偏離)時,請使用此分步方法。

RANDOM

此方法以循環(huán)方式將來自程序的行分發(fā)給消耗。當(dāng)輸入數(shù)據(jù)高度傾斜時,使用這種分布方法。

RANDOM_LOCAL

此方法將來自程序的行分布到一組服務(wù)器,這些服務(wù)器負責(zé)維護給定的一組服務(wù)器。兩個或多個服務(wù)器可以加載同一分區(qū),但是沒有服務(wù)器加載所有分區(qū)。當(dāng)輸入數(shù)據(jù)發(fā)生偏移并且由于內(nèi)存限制而無法合并查詢和加載操作時,請使用此分布方法。

例如,在以下直接裝入插入操作中,該操作的查詢和負載部分被組合到每個查詢服務(wù)器中:


INSERT /*+ APPEND PARALLEL(target_table, 16) PQ_DISTRIBUTE(target_table, NONE) */
  INTO target_table
  SELECT * FROM source_table;

在下面的示例中,創(chuàng)建表時優(yōu)化器使用表 target_table 的分區(qū)來分配行:


CREATE /*+ PQ_DISTRIBUTE(target_table, PARTITION) */ TABLE target_table
  NOLOGGING PARALLEL 16
  PARTITION BY HASH (l_orderkey) PARTITIONS 512
  AS SELECT * FROM source_table;

控制聯(lián)接的分配

您可以通過指定兩種分配方法來控制聯(lián)接的分配方法,如語法中的下部分支所示,一種外部表的分布方法,一種內(nèi)部表的分布方法:

  • ?outside_distribution? 是外部表的分布方法。
  • ?inner_distribution? 是內(nèi)部表的分布方法。

分布方法的值是 ?HASH?、?BROADCAST?、?PARTITION? 和 ?NONE?。只有下表中的 6 種分布方法組合是有效的:

分布方法

說明

HASH, HASH

使用聯(lián)接鍵上的哈希函數(shù),將每個表的行映射到消耗查詢服務(wù)器。映射完成后,每個查詢服務(wù)器都會在一對結(jié)果分區(qū)之間執(zhí)行聯(lián)接。當(dāng)表的大小可比較并且聯(lián)接操作是通過哈希聯(lián)接或排序合并聯(lián)接實現(xiàn)時,建議使用此分布方法。

BROADCAST, NONE

外部表的所有行都廣播到每個程序查詢服務(wù)器。內(nèi)部表行是隨機分區(qū)的。當(dāng)外部表與內(nèi)部表相比非常小時,建議使用此分布方法。通常,當(dāng)內(nèi)部表大小乘以查詢服務(wù)器的數(shù)量大于外部表大小時,也建議使用此分布方法。

NONE, BROADCAST

內(nèi)部表的所有行都廣播給每個消耗查詢服務(wù)器。外部表行是隨機分區(qū)的。當(dāng)內(nèi)部表與外部表相比非常小時,建議使用此分布方法。通常,當(dāng)內(nèi)部表大小乘以查詢服務(wù)器的數(shù)量小于外部表大小時,也建議使用此分布方法。

PARTITION, NONE

外部表的行使用以內(nèi)部表的分區(qū)進行映射。內(nèi)部表必須在聯(lián)接鍵上進行分區(qū)。當(dāng)外部表的分區(qū)數(shù)等于或幾乎等于查詢服務(wù)器數(shù)的倍數(shù)時,建議使用此分布方法。例如,有 14 個分區(qū)和 15 個查詢服務(wù)器。

注意 

如果內(nèi)部表未分區(qū)或未在分區(qū)鍵上等分聯(lián)接時,則優(yōu)化器將忽略此 Hint。

NONE, PARTITION

內(nèi)部表的行使用外部表的分區(qū)進行映射。外部表必須在聯(lián)接鍵上進行分區(qū)。當(dāng)外部表的分區(qū)數(shù)等于或幾乎等于查詢服務(wù)器數(shù)的倍數(shù)時,建議使用此分布方法。例如,有 14 個分區(qū)和 15 個查詢服務(wù)器。

注意 

如果外部表未在分區(qū)鍵上進行分區(qū)或未等分聯(lián)時接,則優(yōu)化器將忽略此 Hint

NONE, NONE

每個查詢服務(wù)器在一對匹配的分區(qū)之間執(zhí)行聯(lián)接操作,每個表中都有一個。兩個表必須在連接鍵上等分。

例如,給定兩個使用哈希聯(lián)接來聯(lián)接表 r 和 s,以下查詢包含使用哈希分配的 Hint:


SELECT /*+ORDERED PQ_DISTRIBUTE(s HASH, HASH) USE_HASH (s)*/ column_list
  FROM r,s
  WHERE r.c=s.c;

要廣播外部表 r,查詢語句為:


SELECT /*+ORDERED PQ_DISTRIBUTE(s BROADCAST, NONE) USE_HASH (s) */ column_list
  FROM r,s
  WHERE r.c=s.c;

名稱欄目:創(chuàng)新互聯(lián)OceanBase教程:OceanBase與并行執(zhí)行相關(guān)的Hint
標(biāo)題URL:http://m.5511xx.com/article/cdjcjei.html