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

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

新聞中心

這里有您想知道的互聯網營銷解決方案
創(chuàng)新互聯OceanBase教程:OceanBase與聯接操作相關的Hint

USE_MERGE Hint

?USE_MERGE? Hint 指示優(yōu)化器使用一個 ?sort-merge? 聯接將每個指定的表與另一個行資源聯接起來。建議在使用 ?USE_NL? 和 ?USE_MERG? Hint 時和 ?LEADING? 與 ?ORDERED? Hint 一起使用。當被引用的表是聯接的內部表時,優(yōu)化器將使用這些提示。如果被引用的表是外部表,則忽略 Hint。

以下是 ?USE_MERGE? Hint 的語法:


/*+ USE_MERGE ( [ @ queryblock ] tablespec [ tablespec ]... ) */

?USE_MERGE?指定表作為內部表時候使用 MERGE-JOIN 算法。OceanBase 中使用 MERGE-JOIN 算法時必須有等值條件的?join-condition?,因此無等值條件的兩個表做聯結時,?USE_MERGE? 失效。

以下是 ?USE_MERGE? 的示例:


SELECT /*+ USE_MERGE(employees departments) */ * 
  FROM employees, departments 
  WHERE employees.department_id = departments.department_id;

NO_USE_MERGE Hint

?NO_USE_MERGE? Hint 指示優(yōu)化器在使用指定表作為內部表并聯接到另一個行資源時排除 ?USE_MERGE? Hint 使用的聯接。

以下是 ?NO_USE_MERGE? Hint 的語法:


/*+ NO_USE_MERGE ( [ @ queryblock ] tablespec [ tablespec ]... ) */

以下是 ?NO_USE_MERGE? Hint 的示例:


SELECT /*+ NO_USE_MERGE(e d) */ *
  FROM employees e, departments d
  WHERE e.department_id = d.department_id;

USE_HASH Hint

?USE_HASH? Hint 指示優(yōu)化器使用 HASH-JOIN 算法將每個指定的表與另一個行資源聯接起來。

以下是 ?USE_HASH? Hint 的語法:


/*+ USE_HASH ( [ @ queryblock ] tablespec [ tablespec ]... ) */

以下是 ?USE_HASH? Hint 的示例:


SELECT /*+ USE_HASH(l h) */ *
  FROM orders h, order_items l
  WHERE l.order_id = h.order_id
    AND l.order_id > 2400;

NO_USE_HASH Hint

?NO_USE_HASH? Hint 指示優(yōu)化器在使用指定表作為內部表并聯接到另一個行資源時排除 ?USE_HASH? Hint 使用的聯接。

以下是 ?NO_USE_HASH? Hint 的語法:


/*+ NO_USE_HASH ( [ @ queryblock ] tablespec [ tablespec ]... ) */

以下是 ?NO_USE_HASH? Hint 的示例:


SELECT /*+ NO_USE_HASH(e d) */ *
  FROM employees e, departments d
  WHERE e.department_id = d.department_id;

USE_NL Hint

?USE_NL? Hint 指示優(yōu)化器使用嵌套循環(huán)聯接將每個指定的表連接到另一個行資源,并使用指定的表作為內部表,指定表作為內部表時使用 NL-JOIN 算法。建議在使用 ?USE_NL? 和 ?USE_MERG? Hint 時和 ?LEADING? 與 ?ORDERED? Hint 一起使用。當被引用的表是聯接的內部表時,優(yōu)化器將使用這些提示。如果被引用的表是外部表,則忽略 Hint。

以下是 ?USE_NL? Hint 的語法:


/*+ USE_NL ( [ @ queryblock ] tablespec [ tablespec ]... ) */

在下面的示例中,Hint 強制執(zhí)行了嵌套循環(huán),通過全表掃描訪問了 orders 并且篩選條件 ?l.order_id = h.order_id? 應用在了每一行。對于滿足篩選條件的每一行,通過索引 order_id 訪問 order_items


SELECT /*+ USE_NL(l h) */ h.customer_id, l.unit_price * l.quantity
  FROM orders h, order_items l
  WHERE l.order_id = h.order_id;

NO_USE_NL Hint

?NO_USE_NL? Hint 指示優(yōu)化器在使用指定表作為內部表并聯接到另一個行資源時排除 Nest-Loop 聯接。

以下是 ?NO_USE_NL? Hint 的語法:


/*+ NO_USE_NL ( [ @ queryblock ] tablespec [ tablespec ]... ) */

以下是 ?NO_USE_NL? Hint 的示例:


SELECT /*+ NO_USE_NL(e d) */ *
  FROM employees e, departments d
  WHERE e.department_id = d.department_id;

USE_BNL Hint

?USE_BNL? Hint 指示優(yōu)化器使用塊嵌套循環(huán)聯接將每個指定的表連接到另一個行資源,并使用指定的表作為內部表,指定表作為內部表時使用 BNL-JOIN 算法。建議在使用 ?USE_BN? Hint 時和 ?LEADING? 與 ?ORDERED? Hint 一起使用。當被引用的表是聯接的內部表時,優(yōu)化器將使用這些提示。如果被引用的表是外部表,則忽略 Hint。

以下是 ?USE_BNL? Hint 的語法:


/*+ USE_BNL ( [ @ queryblock ] tablespec [ tablespec ]... ) */

在下面的示例中,Hint 強制執(zhí)行了塊嵌套循環(huán),通過全表掃描訪問了 orders 并且篩選條件 ?l.order_id = h.order_id? 應用在了每一行。對于滿足篩選條件的每一行,通過索引 order_id 訪問 order_items


SELECT /*+ USE_BNL(l h) */ h.customer_id, l.unit_price * l.quantity
  FROM orders h, order_items l
  WHERE l.order_id = h.order_id;

NO_USE_BNL Hint

?NO_USE_BNL? Hint 指示優(yōu)化器在使用指定表作為內部表并聯接到另一個行資源時排除 ?USE_BNL? Hint 使用的聯接。

以下是 ?NO_USE_BNL? Hint 的語法:


/*+ NO_USE_BNL ( [ @ queryblock ] tablespec [ tablespec ]... ) */

以下是 ?NO_USE_BNL? Hint 的示例:


SELECT /*+ NO_USE_BNL(e d) */ *
  FROM employees e, departments d
  WHERE e.department_id = d.department_id;

本文名稱:創(chuàng)新互聯OceanBase教程:OceanBase與聯接操作相關的Hint
分享鏈接:http://m.5511xx.com/article/dpidjee.html