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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)OceanBase教程:OceanBase 與查詢轉(zhuǎn)換相關的 Hint

NO_REWRITE Hint

?NO_REWRITE? Hint 指示優(yōu)化器為禁用查詢?nèi)ブ貙懖樵儔K,并覆蓋了參數(shù) ?QUERY_REWRITE_ENABLED? 的設置。

創(chuàng)新互聯(lián)是一家專業(yè)提供沁縣企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、成都做網(wǎng)站、H5高端網(wǎng)站建設、小程序制作等業(yè)務。10年已為沁縣眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設公司優(yōu)惠進行中。

以下是 ?NO_REWRITE? 的語法:


/*+ NO_REWRITE [ ( @ queryblock ) ] */

示例如下:


SELECT /*+ NO_REWRITE */ sum(s.amount_sold) AS dollars
  FROM sales s, times t
  WHERE s.time_id = t.time_id
  GROUP BY t.calendar_month_desc;

NO_EXPAND Hint

?NO_EXPAND? Hint 指示優(yōu)化器不要對 ?WHERE? 子句中具有 ?OR? 條件或 ?IN? 列表的查詢考慮 ?OR? 擴展。 通常,優(yōu)化器會使用 ?OR? 擴展,當確定使用 ?OR? 擴展的成本低于不使用它時。

以下是 ?NO_EXPAND? Hint 的語法:


/*+ NO_EXPAND [ ( @ queryblock ) ] */

示例如下:


SELECT /*+ NO_EXPAND */ *
  FROM employees e, departments d
  WHERE e.manager_id = 108
     OR d.department_id = 110;

USE_CONCAT Hint

?USE_CONCAT? Hint 指示優(yōu)化器使用 ?UNION ALL? 運算符將查詢 ?WHERE? 子句中的組合 ?OR? 條件轉(zhuǎn)換為復合查詢。 如果沒有這個 Hint,則僅當使用串聯(lián)查詢的成本低于比沒有串聯(lián)查詢的成本時,才會發(fā)生此轉(zhuǎn)換。?USE_CONCAT? Hint 將覆蓋成本注意事項。

以下是 ?USE_CONCAT? Hint 的語法:


/*+ USE_CONCAT [ ( @ queryblock ) ] */

示例如下:


SELECT /*+ USE_CONCAT */ *
  FROM employees e
  WHERE manager_id = 108
     OR department_id = 110;

MERGE Hint

?MERGE? Hint 使您可以在查詢中合并視圖。

以下是 ?MERGE? Hint 的語法:


/*+ MERGE [ ( @ queryblock )  | ( [ @ queryblock ] tablespec ) ] */

如果視圖的查詢塊在 ?SELECT? 列表中包含 ?GROUP B?Y 子句或 ?DISTINCT? 運算符時,只有啟用了復雜的視圖合并后,優(yōu)化器才能將視圖合并到正在訪問的語句中。 如果子查詢不相關,則也可以使用復雜合并將 ?IN? 子查詢合并到訪問語句中。

示例如下:


SELECT /*+ MERGE(v) */ e1.last_name, e1.salary, v.avg_salary
   FROM employees e1,
        (SELECT department_id, avg(salary) avg_salary 
           FROM employees e2
           GROUP BY department_id) v 
   WHERE e1.department_id = v.department_id
     AND e1.salary > v.avg_salary
   ORDER BY e1.last_name;

當不帶參數(shù)使用 ?MERGE? Hint 時,應將其放在視圖查詢塊中。 當視圖名稱作為參數(shù)使用

?MERGE? Hint 時,應將其放在周邊查詢中。

NO_MERGE Hint

?NO_MERGE? Hint 指示優(yōu)化器不要將外部查詢和任何內(nèi)聯(lián)視圖查詢合并到單個查詢中。

以下是 ?NO_MERGE? Hint 的語法:


/*+ NO_MERGE [ ( @ queryblock )  | ( [ @ queryblock ] tablespec ) ] */

此 Hint 會影響您訪問視圖的方式。 例如,以下語句導致視圖 seattle_dept 不被合并:


SELECT /*+ NO_MERGE(seattle_dept) */ e1.last_name, seattle_dept.department_name
  FROM employees e1,
       (SELECT location_id, department_id, department_name
          FROM departments
          WHERE location_id = 1700) seattle_dept
  WHERE e1.department_id = seattle_dept.department_id;

在視圖查詢塊中使用 ?NO_MERGE? Hint 時,不需要為它指定參數(shù)。 在周圍的查詢中使用 ?NO_MERGE? Hint 時,需要將視圖名稱指定為它的參數(shù)。

UNNEST Hint

?UNNEST? Hint 指示優(yōu)化器不要嵌套而是并將子查詢的主體合并到包含該 Hint 的查詢塊的主體中,從而使優(yōu)化器在評估訪問路徑和聯(lián)接時將它們一起考慮在內(nèi)。

以下是 ?UNNEST? Hint 的語法:


/*+ UNNEST [ ( @ queryblock ) ] */

在取消嵌套子查詢之前,優(yōu)化器首先驗證子查詢是否有效,并且必須通過探索和查詢優(yōu)化測試。 使用 ?UNNEST? Hint 時優(yōu)化器僅檢查子查詢塊的有效性。 如果子查詢塊有效,那么將直接取消嵌套子查詢,而無需通過探索和查詢優(yōu)化測試。

示例如下:


SELECT AVG(t1.c) FROM t1 
WHERE t1.b >= 
    (SELECT /*+unnest*/AVG(t2.b) 
     FROM t2
     WHERE t1.a = t2.a);

NO_UNNEST Hint

?NO_UNNEST? Hint 用來關閉取消嵌套的操作。

以下是 ?NO_UNNEST? Hint 的語法:


/*+ NO_UNNEST [ ( @ queryblock ) ] */

示例如下:


SELECT /*+no_unnest(@qb1)*/AVG(t1.c) 
FROM t1 WHERE t1.b >= 
    (SELECT /*+qb_name(qb1)*/AVG(t2.b) 
     FROM t2) 
     WHERE t1.a = t2.a);

PLACE_GROUP_BY Hint

?PLACE_GROUP_BY? Hint指示優(yōu)化器采用 GROUP BY 位置替換規(guī)則,此時優(yōu)化器不考慮轉(zhuǎn)換之后的代價增大。

以下是? PLACE_GROUP_BY? Hint的語法:


/*+ PLACE_GROUP_BY [ ( @ queryblock ) ] */

示例如下:


SELECT /*+place_group_by*/SUM(t1.c),SUM(t2.c) FROM t1, t2
WHERE t1.a = t2.a AND t1.b > 10 AND t2.b > 10
GROUP BY  t1.a;

NO_PLACE_GROUP_BY Hint

?NO_PLACE_GROUP_BY? Hint 用來關閉 GROUP BY 位置替換轉(zhuǎn)換。

以下是 ?NO_PLACE_GROUP_BY? Hint的語法:


/*+ NO_PLACE_GROUP_BY [ ( @ queryblock ) ] */

示例如下:


SELECT /*+no_place_group_by*/SUM(t1.c),SUM(t2.c) FROM t1, t2
WHERE t1.a = t2.a AND t1.b > 10 AND t2.b > 10
GROUP BY  t1.a;

NO_PRED_DEDUCE Hint

?NO_PRED_DEDUCE? Hint 用來指示優(yōu)化器不是用謂詞推導轉(zhuǎn)換規(guī)則。

以下是 ?NO_PRED_DEDUCE? Hint的語法:


/*+ NO_PRED_DEDUCE [ ( @ queryblock ) ] */

示例如下:


SELECT /*+no_pred_deduce(@qb1)*/ * 
FROM  (
  SELECT /*+no_merge qb_name(qb1)*/ t1.a, t2.b 
  FROM t1, t2 
  WHERE t1.a = t2.a) v, t3 
WHERE t3.a = 1 AND t3.a = v.a;

新聞名稱:創(chuàng)新互聯(lián)OceanBase教程:OceanBase 與查詢轉(zhuǎn)換相關的 Hint
網(wǎng)址分享:http://www.5511xx.com/article/cocspjd.html