新聞中心
MATERIAL 算子用于物化下層算子輸出的數(shù)據。

創(chuàng)新互聯(lián)建站是一家集網站建設,興平企業(yè)網站建設,興平品牌網站建設,網站定制,興平網站建設報價,網絡營銷,網絡優(yōu)化,興平網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
OceanBase 數(shù)據庫以流式數(shù)據執(zhí)行計劃,但有時算子需要等待下層算子輸出所有數(shù)據后才能夠開始執(zhí)行,所以需要在下方添加一個 MATERIAL 算子物化所有的數(shù)據?;蛘咴谧佑媱澬枰貜蛨?zhí)行的時候,使用 MATERIAL 算子可以避免重復執(zhí)行。
如下示例中,t1 表與 t2 表執(zhí)行 NESTED LOOP JOIN 運算時,右表需要重復掃描,可以在右表有一個 MATERIAL 算子,保存 t2 表的所有數(shù)據。
obclient>CREATE TABLE t1(c1 INT, c2 INT, c3 INT);
Query OK, 0 rows affected (0.12 sec)
obclient>CREATE TABLE t2(c1 INT ,c2 INT ,c3 INT);
Query OK, 0 rows affected (0.12 sec)
obclient>EXPLAIN SELECT /*+ORDERED USE_NL(T2)*/* FROM t1,t2
WHERE t1.c1=t2.c1\G;
*************************** 1. row ***************************
Query Plan:
===========================================
|ID|OPERATOR |NAME|EST. ROWS|COST |
-------------------------------------------
|0 |NESTED-LOOP JOIN| |2970 |277377|
|1 | TABLE SCAN |t1 |3 |37 |
|2 | MATERIAL | |100000 |176342|
|3 | TABLE SCAN |t2 |100000 |70683 |
===========================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t2.c1], [t2.c2], [t2.c3]), filter(nil),
conds([t1.c1 = t2.c1]), nl_params_(nil)
1 - output([t1.c1], [t1.c2], [t1.c3]), filter(nil),
access([t1.c1], [t1.c2], [t1.c3]), partitions(p0)
2 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil)
3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil),
access([t2.c1], [t2.c2], [t2.c3]), partitions(p0)上述示例中,執(zhí)行計劃展示中 2 號算子 MATERIAL 的功能是保存 t2 表的數(shù)據,以避免每次聯(lián)接都從磁盤掃描 t2 表的數(shù)據。執(zhí)行計劃展示中的 outputs & filters 詳細展示了 MATERIAL 算子的輸出信息如下:
|
信息名稱 |
含義 |
|---|---|
分享標題:創(chuàng)新互聯(lián)OceanBase教程:OceanBase MATERIAL
當前地址:http://m.5511xx.com/article/cdcosds.html


咨詢
建站咨詢
