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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)OceanBase教程:OceanBaseINTERSECT

INTERSECT 算子用于對(duì)左右孩子算子輸出進(jìn)行交集運(yùn)算,并進(jìn)行去重。

OceanBase 數(shù)據(jù)庫(kù)支持的 INTERSECT 算子包括 MERGE INTERSECT DISTINCT 和 HASH INTERSECT DISTINCT。

MERGE INTERSECT DISTINCT

如下示例中,Q1 對(duì)兩個(gè)查詢使用 INTERSECT 聯(lián)接,c1 有可用排序,0 號(hào)算子生成了 MERGE INTERSECT DISTINCT 進(jìn)行求取交集、去重。由于 c2 無(wú)可用排序,所以在 3 號(hào)算子上分配了 SORT 算子進(jìn)行排序。算子執(zhí)行時(shí)從左右子節(jié)點(diǎn)讀取有序輸入,利用有序輸入進(jìn)行 MERGE,實(shí)現(xiàn)去重并得到交集結(jié)果。

obclient>CREATE TABLE t1(c1 INT PRIMARY KEY, c2 INT);
Query OK, 0 rows affected (0.12 sec)

obclient>INSERT INTO t1 VALUES(1,1);
Query OK, 1 rows affected (0.12 sec)

obclient>INSERT INTO t1 VALUES(2,2);
Query OK, 1 rows affected (0.12 sec)

Q1: 
obclient>EXPLAIN SELECT c1 FROM t1 INTERSECT SELECT c2 FROM t1\G;
*************************** 1. row ***************************
Query Plan:
=================================================
|ID|OPERATOR                |NAME|EST. ROWS|COST|
-------------------------------------------------
|0 |MERGE INTERSECT DISTINCT|    |2        |77  |
|1 | TABLE SCAN             |T1  |2        |37  |
|2 | SORT                   |    |2        |39  |
|3 |  TABLE SCAN            |T1  |2        |37  |
=================================================
Outputs & filters: 
-------------------------------------
  0 - output([INTERSECT(T1.C1, T1.C2)]), filter(nil)
  1 - output([T1.C1]), filter(nil), 
      access([T1.C1]), partitions(p0)
  2 - output([T1.C2]), filter(nil), sort_keys([T1.C2, ASC])
  3 - output([T1.C2]), filter(nil), 
      access([T1.C2]), partitions(p0)

上述示例中,執(zhí)行計(jì)劃展示中的 outputs & filters 詳細(xì)列出了所有 INTERSECT 算子的輸出信息如下:

信息名稱

含義

output

該算子的輸出表達(dá)式。

使用 INTERSECT 聯(lián)接的兩個(gè)子算子對(duì)應(yīng)輸出,即表示交集運(yùn)算輸出結(jié)果中的一列,括號(hào)內(nèi)部為左右子節(jié)點(diǎn)對(duì)應(yīng)此列的輸出列。

filter

該算子上的過(guò)濾條件。

由于示例中 INTERSECT 算子沒(méi)有設(shè)置 filter,所以為 nil。

HASH INTERSECT DISTINCT

如下例所示,Q2 對(duì)兩個(gè)查詢使用 INTERSECT 進(jìn)行聯(lián)接,不可利用排序,0 號(hào)算子使用 HASH INTERSECT DISTINCT 進(jìn)行求取交集、去重。算子執(zhí)行時(shí)先讀取一側(cè)子節(jié)點(diǎn)輸出建立哈希表并去重,再讀取另一側(cè)子節(jié)點(diǎn)利用哈希表求取交集并去重。

Q2: 
obclient>EXPLAIN SELECT c2 FROM t1 INTERSECT SELECT c2 FROM t1\G;
*************************** 1. row ***************************
Query Plan:
================================================
|ID|OPERATOR               |NAME|EST. ROWS|COST|
------------------------------------------------
|0 |HASH INTERSECT DISTINCT|    |2        |77  |
|1 | TABLE SCAN            |T1  |2        |37  |
|2 | TABLE SCAN            |T1  |2        |37  |
================================================

Outputs & filters: 
-------------------------------------
  0 - output([INTERSECT(T1.C2, T1.C2)]), filter(nil)
  1 - output([T1.C2]), filter(nil), 
      access([T1.C2]), partitions(p0)
  2 - output([T1.C2]), filter(nil), 
      access([T1.C2]), partitions(p0)

上述示例的執(zhí)行計(jì)劃展示中的 outputs & filters 詳細(xì)列出了 HASH INTERSECT DISTINCT 算子的輸出信息,字段的含義與 MERGE INTERSECT DISTINCT 算子相同。


分享題目:創(chuàng)新互聯(lián)OceanBase教程:OceanBaseINTERSECT
當(dāng)前鏈接:http://www.5511xx.com/article/cddjghe.html