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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎ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è)策劃、鄂州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(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 用于直接對兩個(gè)查詢結(jié)果集進(jìn)行合并輸出。

如下示例中,Q1 對兩個(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 用于對結(jié)果集進(jìn)行并集、去重后進(jìn)行輸出。

如下示例中,Q2 對兩個(gè)查詢使用 UNION DISTINCT 進(jìn)行聯(lián)接, c1 有可用排序,0 號算子生成 MERGE UNION DISTINCT 進(jìn)行取并集、去重。由于 c2 無可用排序,所以在 3 號算子上分配了 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 用于對結(jié)果集進(jìn)行并集、去重后進(jìn)行輸出。

如下示例中,Q3 對兩個(gè)查詢使用 UNION DISTINCT 進(jìn)行聯(lián)接,無可利用排序,0 號算子使用 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 算子相同。


本文題目:創(chuàng)新互聯(lián)OceanBase教程:OceanBaseUNION
轉(zhuǎn)載來于:http://www.5511xx.com/article/dhspchd.html