日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

UNION 算子用于將兩個(gè)查詢的結(jié)果集進(jìn)行并集運(yùn)算。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、鄂州網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、鄂州網(wǎng)絡(luò)營(yíng)銷、鄂州企業(yè)策劃、鄂州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供鄂州建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

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

UNION ALL

UNION ALL 用于直接對(duì)兩個(gè)查詢結(jié)果集進(jìn)行合并輸出。

如下示例中,Q1 對(duì)兩個(gè)查詢使用 UNION ALL 進(jìn)行聯(lián)接,使用 UNION ALL 算子進(jìn)行并集運(yùn)算。算子執(zhí)行時(shí)依次輸出左右子節(jié)點(diǎ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 UNION ALL SELECT c2 FROM t1\G;
*************************** 1. row ***************************
Query Plan:
====================================
|ID|OPERATOR   |NAME|EST. ROWS|COST|
------------------------------------
|0 |UNION ALL  |    |4        |74  |
|1 | TABLE SCAN|T1  |2        |37  |
|2 | TABLE SCAN|T1  |2        |37  |
====================================
Outputs & filters: 
-------------------------------------
  0 - output([UNION(T1.C1, T1.C2)]), filter(nil)
  1 - output([T1.C1]), filter(nil), 
      access([T1.C1]), partitions(p0)
  2 - output([T1.C2]), filter(nil), 
      access([T1.C2]), partitions(p0)

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

信息名稱

含義

output

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

filter

該算子上的過濾條件。

由于示例中 UNION ALL 算子沒有設(shè)置 filter,所以為 nil。

MERGE UNION DISTINCT

MERGE UNION DISTINCT 用于對(duì)結(jié)果集進(jìn)行并集、去重后進(jìn)行輸出。

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


Q2: 
obclient>EXPLAIN SELECT c1 FROM t1 UNION SELECT c2 FROM t1\G;
*************************** 1. row ***************************
Query Plan:
=============================================
|ID|OPERATOR            |NAME|EST. ROWS|COST|
---------------------------------------------
|0 |MERGE UNION DISTINCT|    |4        |77  |
|1 | TABLE SCAN         |T1  |2        |37  |
|2 | SORT               |    |2        |39  |
|3 |  TABLE SCAN        |T1  |2        |37  |
=============================================
Outputs & filters: 
-------------------------------------
  0 - output([UNION(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ì)列出了 MERGE UNION DISTINCT 算子的輸出信息,字段的含義與 UNION ALL 算子相同。

HASH UNION DISTINCT

HASH UNION DISTINCT 用于對(duì)結(jié)果集進(jìn)行并集、去重后進(jìn)行輸出。

如下示例中,Q3 對(duì)兩個(gè)查詢使用 UNION DISTINCT 進(jìn)行聯(lián)接,無可利用排序,0 號(hào)算子使用 HASH UNION DISTINCT 進(jìn)行并集、去重。算子執(zhí)行時(shí)讀取左右子節(jié)點(diǎn)輸出,建立哈希表進(jìn)行去重,最終輸出去重后結(jié)果。


Q3: 
obclient>EXPLAIN SELECT c2 FROM t1 UNION SELECT c2 FROM t1\G;
*************************** 1. row ***************************
Query Plan:
============================================
|ID|OPERATOR           |NAME|EST. ROWS|COST|
--------------------------------------------
|0 |HASH UNION DISTINCT|    |4        |77  |
|1 | TABLE SCAN        |T1  |2        |37  |
|2 | TABLE SCAN        |T1  |2        |37  |
============================================
Outputs & filters: 
-------------------------------------
  0 - output([UNION(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 UNION DISTINCT 算子的輸出信息,字段的含義與 UNION ALL 算子相同。


網(wǎng)站名稱:創(chuàng)新互聯(lián)OceanBase教程:OceanBaseUNION
文章來源:http://www.dlmjj.cn/article/dhspchd.html