- ์นดํ ๊ณ ๋ฆฌ:
์์คํ ํจ์ (์ฟผ๋ฆฌ ์ ๋ณด) , ํ ์ด๋ธ ํจ์
GET_QUERY_OPERATOR_STATSยถ
์๋ฃํ ์ฟผ๋ฆฌ ๋ด์ ๊ฐ๋ณ ์ฟผ๋ฆฌ ์ฐ์ฐ์์ ๋ํ ํต๊ณ๋ฅผ ๋ฐํํฉ๋๋ค. ์ง๋ 14์ผ๊ฐ ์คํ๋ ๋ชจ๋ ์๋ฃ๋ ์ฟผ๋ฆฌ์ ๋ํด ์ด ํจ์๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ์ฟผ๋ฆฌ ์ฐ์ฐ์(์: ์กฐ์ธ ์ฐ์ฐ์)๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ๋ง์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉ ์ค์ธ ์ฐ์ฐ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์๋ก, ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ ํ๋ณด๋ค ์ถ๋ ฅ ํ์ด ๋ ๋ง์ ์กฐ์ธ์ ์๋ณํ ์ ์๋๋ฐ, ์ด๋ โํญ์ฆํ๋โ ์กฐ์ธ (์: ์๋ํ์ง ์์ ๋ฐ์นด๋ฅดํธ ๊ณฑ)์ ์งํ์ผ ์ ์์ต๋๋ค.
์ด๋ฌํ ํต๊ณ๋ Snowsight ์ ์ฟผ๋ฆฌ ํ๋กํ ํญ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. GET_QUERY_OPERATOR_STATS()
ํจ์๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋์ผํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ฌธ์ ๊ฐ ์๋ ์ฟผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฟผ๋ฆฌ ํ๋กํ์ ํตํด ํ์ธ๋ ์ผ๋ฐ ์ฟผ๋ฆฌ ๋ฌธ์ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
๊ตฌ๋ฌธยถ
GET_QUERY_OPERATOR_STATS( <query_id> )
์ธ์ยถ
query_id
์ฟผ๋ฆฌ์ ID์ ๋๋ค. ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฌธ์์ด ๋ฆฌํฐ๋ด(์์๋ฐ์ดํ๋ก ๋ฌถ์ธ ๋ฌธ์์ด).
์ฟผ๋ฆฌ ID๋ฅผ ํฌํจํ๋ ์ธ์ ๋ณ์.
LAST_QUERY_ID ํจ์์ ๋ํ ํธ์ถ์ ๋ฐํ ๊ฐ.
๋ฐํยถ
GET_QUERY_OPERATOR_STATS ํจ์๋ ํ ์ด๋ธ ํจ์ ์ ๋๋ค. ์ฟผ๋ฆฌ์ ๊ฐ ์ฟผ๋ฆฌ ์ฐ์ฐ์์ ๋ํ ํต๊ณ๊ฐ ํฌํจ๋ ํ์ ๋ฐํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์๋์ ์ฌ์ฉ๋ฒ ๋ ธํธ ๋ฐ ์ถ๋ ฅ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
์ฌ์ฉ๋ฒ ๋ ธํธยถ
์ด ํจ์๋ ์๋ฃ๋ ์ฟผ๋ฆฌ์ ๋ํ ํต๊ณ๋ง ๋ฐํํฉ๋๋ค.
์ฟผ๋ฆฌ๋ฅผ ์คํํ ์จ์ดํ์ฐ์ค์ ๋ํ OPERATE ๋๋ MONITOR ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
์ด ํจ์๋ ์ง์ ๋ ์ฟผ๋ฆฌ์ ์ฌ์ฉ๋ ๊ฐ ์ฟผ๋ฆฌ ์ฐ์ฐ์์ ๋ํ ์์ธํ ํต๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฅํ ์ฟผ๋ฆฌ ์ฐ์ฐ์์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
Aggregate: ์ ๋ ฅ์ ๊ทธ๋ฃนํํ๊ณ ์ง๊ณ ํจ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
CartesianJoin: ํน์ํ ์กฐ์ธ ์ ํ.
Delete: ํ ์ด๋ธ์์ ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
ExternalFunction: ์ธ๋ถ ํจ์์ ์ํ ์ฒ๋ฆฌ๋ฅผ ๋ํ๋ ๋๋ค.
ExternalScan: ์คํ ์ด์ง ์ค๋ธ์ ํธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ํ๋ ๋๋ค.
Filter: ํ์ ํํฐ๋งํ๋ ์์ ์ ๋ํ๋ ๋๋ค.
Flatten: VARIANT ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ง์ ๋ ๊ฒฝ๋ก์์ ํ๋ฉดํํ ์ ์์ต๋๋ค.
Generator: TABLE(GENERATOR(โฆ)) ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
GroupingSets: GROUPING SETS, ROLLUP, CUBE ๋ฑ์ ๊ตฌ๋ฌธ์ ๋ํ๋ ๋๋ค.
Insert: INSERT ๋๋ COPY ์์ ์ ํตํด ํ ์ด๋ธ์ ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
InternalObject: ๋ด๋ถ ๋ฐ์ดํฐ ์ค๋ธ์ ํธ(์: Information Schema ๋๋ ์ด์ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์์)์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ํ๋ ๋๋ค.
Join: ์ง์ ๋ ์กฐ๊ฑด์์ ๋ ์ ๋ ฅ์ ๊ฒฐํฉํฉ๋๋ค.
JoinFilter: ์ฟผ๋ฆฌ ๊ณํ์์ ๋ ์ด์ ์กฐ์ธ ์กฐ๊ฑด๊ณผ ์ผ์นํ์ง ์๋ ๊ฒ์ผ๋ก ์๋ณ๋ ์ ์๋ ํํ์ ์ ๊ฑฐํ๋ ํน์ ํํฐ๋ง ์์ ์ ๋๋ค.
Merge: ํ ์ด๋ธ์ ๋ํ MERGE ์ฐ์ฐ์ ์ํํฉ๋๋ค.
Pivot: ์ด์ ๊ณ ์ ๊ฐ์ ์ฌ๋ฌ ์ด๋ก ๋ณํํ๊ณ ํ์ํ ์ง๊ณ๋ฅผ ์ํํฉ๋๋ค.
Result: ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
Sort: ์ง์ ๋ ์์์ ์ ๋ ฅ์ ์ ๋ ฌํฉ๋๋ค.
SortWithLimit: ์ผ๋ฐ์ ์ผ๋ก
ORDER BY ... LIMIT ... OFFSET ...
๊ตฌ๋ฌธ์ ๊ฒฐ๊ณผ์ธ ์ ๋ ฌ ํ ์ ๋ ฅ ์ํ์ค์ ์ผ๋ถ๋ฅผ ์์ฑํฉ๋๋ค.TableScan: ๋จ์ผ ํ ์ด๋ธ์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ํ๋ ๋๋ค.
UnionAll: ๋ ์ ๋ ฅ์ ์ฐ๊ฒฐํฉ๋๋ค.
Unload: ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์คํ ์ด์ง์ ํ์ผ๋ก ๋ด๋ณด๋ด๋ COPY ์์ ์ ๋ํ๋ ๋๋ค.
Unpivot: ์ด์ ํ์ผ๋ก ๋ณํํ์ฌ ํ ์ด๋ธ์ ํ์ ํฉ๋๋ค.
Update: ํ ์ด๋ธ์์ ๋ ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
ValuesClause: VALUES ์ ๊ณผ ํจ๊ป ์ ๊ณต๋๋ ๊ฐ ๋ชฉ๋ก์ ๋๋ค.
WindowFunction: ์๋์ฐ ํจ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
WithClause: SELECT ๋ฌธ์ ๋ณธ๋ฌธ์ ์ ํํ๋ฉฐ ํ๋ ์ด์์ CTE๋ฅผ ์ ์ํฉ๋๋ค.
WithReference: WITH ์ ์ ์ธ์คํด์ค์ ๋๋ค.
์ด ์ ๋ณด๋ ํ ์ด๋ธ๋ก ๋ฐํ๋ฉ๋๋ค. ํ ์ด๋ธ์ ๊ฐ ํ์ ํ๋์ ์ฐ์ฐ์์ ํด๋นํฉ๋๋ค. ์ด ํ์๋ ํด๋น ์ฐ์ฐ์์ ๋ํ ์คํ ๋ถ์ ๋ฐ ์ฟผ๋ฆฌ ํต๊ณ๊ฐ ํฌํจ๋ฉ๋๋ค.
์ด ํ์๋ ์ฐ์ฐ์ ํน์ฑ ๋ ๋์ด๋ ์ ์์ต๋๋ค(์ด๋ฌํ ํน์ฑ์ ์ฐ์ฐ์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ).
์ฟผ๋ฆฌ ์คํ ์๊ฐ์ ๋ถ์ํ ํต๊ณ๋ ์ ์ฒด ์ฟผ๋ฆฌ์์ ์ฌ์ฉํ ์๊ฐ์ ๋ฐฑ๋ถ์จ๋ก ํํ๋ฉ๋๋ค.
ํน์ ํต๊ณ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ด ํญ๋ชฉ์ ์ถ๋ ฅ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
์ด ํจ์๋ ํ ์ด๋ธ ํจ์์ด๋ฏ๋ก FROM ์ ์์ ์ฌ์ฉํด์ผ ํ๋ฉฐ
TABLE()
๋ก ๋ํํด์ผ ํฉ๋๋ค. ์:select * from table(get_query_operator_stats(last_query_id()));
ํน์ ์ฟผ๋ฆฌ(์ฆ, ํน์ UUID)์ ๊ฐ ๊ฐ๋ณ ์คํ์ ๋ํด ์ด ํจ์๋ ๊ฒฐ์ ์ ์ด๋ฉฐ, ๋งค๋ฒ ๋๊ฐ์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
ํ์ง๋ง ๊ฐ์ ์ฟผ๋ฆฌ ํ ์คํธ์ ๋ค๋ฅธ ์คํ์ ๋ํด ์ด ํจ์๋ ๋ค๋ฅธ ๋ฐํ์ ํต๊ณ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. ํต๊ณ๋ ๋ง์ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋ค์ ์์ธ์ ์คํ์ ์ค๋ํ ์ํฅ์ ๋ฏธ์น๋ฉฐ ๋ฐ๋ผ์ ์ด ํจ์์์ ๋ฐํ๋๋ ํต๊ณ์๋ ์ค๋ํ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
๋ฐ์ดํฐ์ ์.
๊ตฌ์ฒดํ๋ ๋ทฐ ์ ๊ฐ์ฉ์ฑ๊ณผ ์ด๋ฌํ ๊ตฌ์ฒดํ๋ ๋ทฐ๋ฅผ ๋ง์ง๋ง์ผ๋ก ์๋ก ๊ณ ์น ์ดํ ๋ฐ์ดํฐ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ(์๋ ๊ฒฝ์ฐ).
ํด๋ฌ์คํฐ๋ง ์ ์กด์ฌ ๋๋ ๋ถ์ฌ.
์ด์ ์ ์บ์๋ ๋ฐ์ดํฐ์ ์กด์ฌ ๋๋ ๋ถ์ฌ.
๊ฐ์ ์จ์ดํ์ฐ์ค์ ํฌ๊ธฐ.
๊ฐ์ ์ฌ์ฉ์์ ์ฟผ๋ฆฌ์ ๋ฐ์ดํฐ ์ธ๋ถ ์์ธ์ ์ํฅ์ ๋ฐ์ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ์์ธ์ ๋๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์์ธ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
๊ฐ์ ์จ์ดํ์ฐ์ค ์ด๊ธฐํ ์๊ฐ.
์ธ๋ถ ํจ์ ์ฌ์ฉ ์์ ๋๊ธฐ ์๊ฐ.
์ถ๋ ฅยถ
์ด ํจ์๋ ๋ค์ ์ด์ ๋ฐํํฉ๋๋ค.
์ด ์ด๋ฆ |
๋ฐ์ดํฐ ํ์ |
์ค๋ช |
---|---|---|
QUERY_ID |
VARCHAR |
SQL ๋ฌธ์ ๋ํ ๋ด๋ถ์ ์์คํ ์์ฑ ์๋ณ์์ธ ์ฟผ๋ฆฌ ID. |
STEP_ID |
NUMBER(38, 0) |
์ฟผ๋ฆฌ ๊ณํ์ ๋จ๊ณ ์๋ณ์. |
OPERATOR_ID |
NUMBER(38, 0) |
์ฐ์ฐ์์ ์๋ณ์. ์ด๊ฒ์ ์ฟผ๋ฆฌ ๋ด์์ ๊ณ ์ ํฉ๋๋ค. ๊ฐ์ 0์์ ์์ํฉ๋๋ค. |
PARENT_OPERATORS |
ํ๋ ์ด์์ NUMBER๋ฅผ ํฌํจํ ARRAY(38, 0) |
์ด ์ฐ์ฐ์์ ๋ํ ์์ ์ฐ์ฐ์์ ์๋ณ์, ๋๋ ์ฟผ๋ฆฌ ๊ณํ์ ๋ง์ง๋ง ์ฐ์ฐ์(๋ณดํต์ Result ์ฐ์ฐ์)์ธ ๊ฒฝ์ฐ์๋ NULL์ ๋๋ค. |
OPERATOR_TYPE |
VARCHAR |
์ฟผ๋ฆฌ ์ฐ์ฐ์์ ์ ํ(์: |
OBJECT๋ฅผ ํฌํจํ๋ VARIANT |
์ฐ์ฐ์์ ๋ํ ํต๊ณ(์: ์ฐ์ฐ์์ ์ถ๋ ฅ ํ ์). |
|
OBJECT๋ฅผ ํฌํจํ๋ VARIANT |
์ฐ์ฐ์์ ์คํ ์๊ฐ์ ๋ํ ์ ๋ณด. |
|
OBJECT๋ฅผ ํฌํจํ๋ VARIANT |
์ฐ์ฐ์์ ๋ํ ์ ๋ณด. ์ด ์ ๋ณด๋ ์ฐ์ฐ์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. |
์ฐ์ฐ์์ ํน์ ์ด์ ๋ํ ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ ๊ฐ์ NULL์ ๋๋ค.
์ด๋ฌํ ์ด ์ค ์ธ ๊ฐ์ OBJECTs ๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ฐ ์ค๋ธ์ ํธ์๋ ํค/๊ฐ ํ์ด๊ฐ ์์ต๋๋ค. ์๋ ํ ์ด๋ธ์์๋ ์ด๋ฌํ ํ ์ด๋ธ์ ํค์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค.
OPERATOR_STATISTICSยถ
OPERATOR_STATISTICS
์ด์ OBJECTs์ ์๋ ํ๋์์๋ ์ฐ์ฐ์์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ๋ณด์๋ ๋ค์์ด ํฌํจ๋ ์ ์์ต๋๋ค.
ํค |
์ค์ฒฉ ํค(ํด๋น๋๋ ๊ฒฝ์ฐ) |
๋ฐ์ดํฐ ํ์ |
์ค๋ช |
---|---|---|---|
|
๋ฐ์ดํฐ ์กฐ์ ์ธ์ด(DML) ์ฟผ๋ฆฌ์ ๋ํ ํต๊ณ: |
||
|
DOUBLE |
ํ ์ด๋ธ 1๊ฐ(๋๋ ํ ์ด๋ธ ์ฌ๋ฌ ๊ฐ)์ ์ฝ์ ๋ ํ ์. |
|
|
DOUBLE |
ํ ์ด๋ธ์์ ์ ๋ฐ์ดํธ๋ ํ ์. |
|
|
DOUBLE |
ํ ์ด๋ธ์์ ์ญ์ ๋ ํ ์. |
|
|
DOUBLE |
๋ฐ์ดํฐ ๋ด๋ณด๋ด๊ธฐ ์ค ์ธ๋ก๋๋ ํ ์. |
|
|
์ธ๋ถ ํจ์ ํธ์ถ์ ๋ํ ์ ๋ณด. ์๋ฅผ ๋ค์ด ํ๋ |
||
|
DOUBLE |
์ธ๋ถ ํจ์๊ฐ ํธ์ถ๋ ํ์. (ํ์ ๋๋๋ ์ผ๊ด ์ฒ๋ฆฌ์ ์, ์ฌ์๋ ํ์(์ผ์์ ์ธ ๋คํธ์ํฌ ์ฅ์ ๊ฐ ์๋ ๊ฒฝ์ฐ) ๋ฑ์ผ๋ก ์ธํด SQL ๋ฌธ์ ํ ์คํธ์ ํ์๋ ์ธ๋ถ ํจ์ ํธ์ถ ํ์์ ๋ค๋ฅผ ์ ์์) |
|
|
DOUBLE |
์ธ๋ถ ํจ์๋ก ์ ์ก๋ ํ์ ๊ฐ์. |
|
|
DOUBLE |
์ธ๋ถ ํจ์๋ก๋ถํฐ ์์ ๋ ํ์ ๊ฐ์. |
|
|
DOUBLE |
์ธ๋ถ ํจ์๋ก ์ ์ก๋ ํ์ ๊ฐ์. ํค์ |
|
|
DOUBLE |
์ธ๋ถ ํจ์๋ก๋ถํฐ ์์ ๋ ํ์ ๊ฐ์. ํค์ |
|
|
DOUBLE |
์ผ์์ ์ธ ์ค๋ฅ๋ก ์ธํ ์ฌ์๋ ํ์. |
|
|
DOUBLE |
Snowflake๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ํ ๋ฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์๊ฐ ์ฌ์ด์ ํธ์ถ๋น ํ๊ท ์๊ฐ(๋ฐ๋ฆฌ์ด)์ ๋๋ค. |
|
|
INTEGER |
4xx ์ํ ์ฝ๋๋ฅผ ๋ฐํํ ์ด HTTP ์์ฒญ ์์ ๋๋ค. |
|
|
INTEGER |
5xx ์ํ ์ฝ๋๋ฅผ ๋ฐํํ ์ด HTTP ์์ฒญ ์์ ๋๋ค. |
|
|
DOUBLE |
์ฑ๊ณต์ ์ธ HTTP ์์ฒญ์ ์ํ ํ๊ท ๋๊ธฐ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
์ ํ์ ๋ฐ๋ฅธ ์๋ ์ ํ๋ก ์ธํ ์ฑ๊ณต์ ์ธ ์์ฒญ๋น ํ๊ท ์ค๋ฒํค๋์ ๋๋ค(HTTP 429). |
|
|
DOUBLE |
HTTP 429 ์ค๋ฅ๋ก ์ธํด ์ฌ์๋๋ ๋ฐฐ์น ์์ ๋๋ค. |
|
|
DOUBLE |
์ฑ๊ณต์ ์ธ HTTP ์์ฒญ์ 50๋ฒ์งธ ๋ฐฑ๋ถ์์ ๋๊ธฐ ์๊ฐ์ ๋๋ค. ์ฑ๊ณต์ ์ธ ๋ชจ๋ ์์ฒญ์ 50%๊ฐ ์๋ฃํ๋ ๋ฐ ์ด ์๊ฐ๋ณด๋ค ์งง๊ฒ ๊ฑธ๋ ธ์ต๋๋ค. |
|
|
DOUBLE |
์ฑ๊ณต์ ์ธ HTTP ์์ฒญ์ 90๋ฒ์งธ ๋ฐฑ๋ถ์์ ๋๊ธฐ ์๊ฐ์ ๋๋ค. ์ฑ๊ณต์ ์ธ ๋ชจ๋ ์์ฒญ์ 90%๊ฐ ์๋ฃํ๋ ๋ฐ ์ด ์๊ฐ๋ณด๋ค ์งง๊ฒ ๊ฑธ๋ ธ์ต๋๋ค. |
|
|
DOUBLE |
์ฑ๊ณต์ ์ธ HTTP ์์ฒญ์ 95๋ฒ์งธ ๋ฐฑ๋ถ์์ ๋๊ธฐ ์๊ฐ์ ๋๋ค. ์ฑ๊ณต์ ์ธ ๋ชจ๋ ์์ฒญ์ 95%๊ฐ ์๋ฃํ๋ ๋ฐ ์ด ์๊ฐ๋ณด๋ค ์งง๊ฒ ๊ฑธ๋ ธ์ต๋๋ค. |
|
|
DOUBLE |
์ฑ๊ณต์ ์ธ HTTP ์์ฒญ์ 99๋ฒ์งธ ๋ฐฑ๋ถ์์ ๋๊ธฐ ์๊ฐ์ ๋๋ค. ์ฑ๊ณต์ ์ธ ๋ชจ๋ ์์ฒญ์ 99%๊ฐ ์๋ฃํ๋ ๋ฐ ์ด ์๊ฐ๋ณด๋ค ์งง๊ฒ ๊ฑธ๋ ธ์ต๋๋ค. |
|
|
INTEGER |
์ ๋ ฅ ํ ์. ์ด๊ฒ์ ๋ค๋ฅธ ์ฐ์ฐ์์ ์ ๋ ฅ ์์ง๊ฐ ์๋ ์ฐ์ฐ์์ ๊ฒฝ์ฐ ๋๋ฝ๋ ์ ์์ต๋๋ค. |
|
|
์ฟผ๋ฆฌ ์ค์ ์ํ๋ I/O(์ ์ถ๋ ฅ) ์์ ์ ๋ํ ์ ๋ณด. |
||
|
DOUBLE |
ํด๋น ํ ์ด๋ธ์์ ํ์ฌ ์ค์บํ ๋ฐ์ดํฐ์ ๋ฐฑ๋ถ์จ. |
|
|
DOUBLE |
ํ์ฌ๊น์ง ์ค์บํ ๋ฐ์ดํธ ์. |
|
|
DOUBLE |
๋ก์ปฌ ๋์คํฌ ์บ์์์ ์ค์บํ ๋ฐ์ดํฐ์ ๋ฐฑ๋ถ์จ์ ๋๋ค. |
|
|
DOUBLE |
๊ธฐ๋ก๋ ๋ฐ์ดํธ ์(์: ํ ์ด๋ธ์ ๋ก๋ํ ๋). |
|
|
DOUBLE |
๊ฒฐ๊ณผ ์ค๋ธ์ ํธ์ ๊ธฐ๋ก๋ ๋ฐ์ดํธ ์. ์๋ฅผ ๋ค์ด, ์ผ๋ฐ์ ์ผ๋ก, ๊ฒฐ๊ณผ์ ๊ฒฐ๊ณผ๋ก ์์ฑ๋ ๋ชจ๋ ๊ฒ์ ๋ํ๋ด๊ณ |
|
|
DOUBLE |
๊ฒฐ๊ณผ ์ค๋ธ์ ํธ์์ ์ฝ์ ๋ฐ์ดํธ ์. |
|
|
DOUBLE |
์ธ๋ถ ์ค๋ธ์ ํธ(์: ์คํ ์ด์ง)์์ ์ฝ์ ๋ฐ์ดํธ ์. |
|
|
|
DOUBLE |
๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋ ๋ฐ์ดํฐ์ ์. |
|
INTEGER |
์ถ๋ ฅ ํ ์. ์ด๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ฐํํ๋ ์ฐ์ฐ์(๋ณดํต RESULT ์ฐ์ฐ์)์ ๊ฒฝ์ฐ ๋๋ฝ๋ ์ ์์ต๋๋ค. |
|
|
ํ ์ด๋ธ ์๋ผ๋ด๊ธฐ์ ๋ํ ์ ๋ณด. |
||
|
DOUBLE |
ํ์ฌ๊น์ง ์ค์บํ ํํฐ์ ์ ์. |
|
|
DOUBLE |
์ง์ ๋ ํ ์ด๋ธ์ ์ด ํํฐ์ ์. |
|
|
์์ ๊ฒฐ๊ณผ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ํฉํ์ง ์๋ ์์ ์ ๋ํ ๋์คํฌ ์ฌ์ฉ๋ ์ ๋ณด. |
||
|
DOUBLE |
์๊ฒฉ ๋์คํฌ๋ก ์ ์ถ๋ ๋ฐ์ดํฐ์ ๋ณผ๋ฅจ. |
|
|
DOUBLE |
๋ก์ปฌ ๋์คํฌ๋ก ์ ์ถ๋ ๋ฐ์ดํฐ์ ๋ณผ๋ฅจ. |
|
|
ํ์ฅ ํจ์ ํธ์ถ์ ๋ํ ์ ๋ณด. ํ๋์ ๊ฐ์ด 0์ด๋ฉด ํ๋๊ฐ ํ์๋์ง ์์ต๋๋ค. |
||
|
DOUBLE |
๋ก๋ํ Java UDF ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ํ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDF ์ฒ๋ฆฌ๊ธฐ๊ฐ ํธ์ถ๋๋ ํ์์ ๋๋ค. |
|
|
DOUBLE |
์คํํ Java UDF ์ฒ๋ฆฌ๊ธฐ์ ์ต๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDF ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์คํํ ํ๊ท ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF ํ๋ก์ธ์ค ๋ฉ์๋ ๊ฐ ํธ์ถ๋ ํ์์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF ํ๋ก์ธ์ค ์คํ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF ํ๋ก์ธ์ค ์คํ์ ๊ฑธ๋ฆฐ ํ๊ท ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF ์์ฑ์ ๊ฐ ํธ์ถ๋ ํ์์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF ์์ฑ์ ์คํ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF ์์ฑ์ ์คํ์ ๊ฑธ๋ฆฌ๋ ํ๊ท ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF endPartition ๋ฉ์๋ ๊ฐ ํธ์ถ๋ ํ์์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF endPartition ๋ฉ์๋ ์คํ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDTF endPartition ๋ฉ์๋ ์คํ์ ๊ฑธ๋ฆฌ๋ ํ๊ท ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Java UDF ์ข ์ ํญ๋ชฉ ๋ค์ด๋ก๋์ ๊ฑธ๋ฆฌ๋ ์ต๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
JVM์์ ๋ณด๊ณ ํ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋๋ค. |
|
|
DOUBLE |
Java UDF ์ธ๋ผ์ธ ์ฝ๋์ ์ปดํ์ผ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Python UDF ์ฒ๋ฆฌ๊ธฐ๊ฐ ํธ์ถ๋ ํ์์ ๋๋ค. |
|
|
DOUBLE |
Python UDF ์ฒ๋ฆฌ๊ธฐ์ ์ด ์คํ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Python UDF ์ฒ๋ฆฌ๊ธฐ ์คํ์ ๊ฑธ๋ฆฌ๋ ํ๊ท ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Python ์๋๋ฐ์ค ํ๊ฒฝ์ ์ต๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋๋ค. |
|
|
DOUBLE |
ํจํค์ง ๋ค์ด๋ก๋์ ์ค์น๋ฅผ ํฌํจํ์ฌ Python ํ๊ฒฝ์ ๋ง๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ํ๊ท ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Python ํจํค์ง๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Conda ์๋ฒ๋ฅผ ์คํํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Python ํ๊ฒฝ์ ๋ง๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
Python UDF๋ฅผ ์ด๊ธฐํํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. |
|
|
DOUBLE |
UDF์ ๋ํด ์ฝ์ ์ธ๋ถ ํ์ผ ๋ฐ์ดํธ ์์ ๋๋ค. |
|
|
DOUBLE |
UDF์ ๋ํด ์ก์ธ์คํ ์ธ๋ถ ํ์ผ ์์ ๋๋ค. |
EXECUTION_TIME_BREAKDOWNยถ
EXECUTION_TIME_BREAKDOWN
์ด์ OBJECTs์ ์๋ ํ๋๊ฐ ์๋์ ๋์ ์์ต๋๋ค.
ํค |
๋ฐ์ดํฐ ํ์ |
์ค๋ช |
---|---|---|
|
DOUBLE |
์ด ์ฐ์ฐ์๊ฐ ์ฌ์ฉํ ์ด ์ฟผ๋ฆฌ ์๊ฐ์ ๋ฐฑ๋ถ์จ. |
|
DOUBLE |
์ฟผ๋ฆฌ ์ฒ๋ฆฌ ์ค์ ์ ์ฌ์ฉํ ์๊ฐ. |
|
DOUBLE |
CPU์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์๊ฐ. |
|
DOUBLE |
์ฐธ์ฌ ํ๋ก์ธ์ค ๊ฐ์ ํ๋ ๋๊ธฐํ์ ์ฌ์ฉํ ์๊ฐ. |
|
DOUBLE |
๋ก์ปฌ ๋์คํฌ ์ก์ธ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ฒ๋ฆฌ๊ฐ ์ฐจ๋จ๋ ์๊ฐ. |
|
DOUBLE |
์๊ฒฉ ๋์คํฌ ์ก์ธ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ์ฒ๋ฆฌ๊ฐ ์ฐจ๋จ๋ ์๊ฐ. |
|
DOUBLE |
์ฒ๋ฆฌ์์ ๋คํธ์ํฌ ๋ฐ์ดํฐ ์ ์ก์ ๊ธฐ๋ค๋ ธ๋ ์๊ฐ. |
OPERATOR_ATTRIBUTESยถ
๊ฐ ์ถ๋ ฅ ํ์ ์ฟผ๋ฆฌ์์ ํ ์ฐ์ฐ์๋ฅผ ์ค๋ช ํฉ๋๋ค. ์๋ ํ์์๋ ๊ฐ๋ฅํ ์ฐ์ฐ์ ์ ํ(์: Filter ์ฐ์ฐ์)์ ๋ณด์ฌ์ค๋๋ค. ์ด ํ์๋ ๊ฐ ์ ํ์ ์ฐ์ฐ์์ ๋ํด ๊ฐ๋ฅํ ํน์ฑ(์: ํ์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์)์ด ๋์ ์์ต๋๋ค.
์ฐ์ฐ์ ํน์ฑ์ VARIANT ํ์์ด๊ณ OBJECT ๋ฅผ ํฌํจํ๋ OPERATOR_ATTRIBUTES
์ด์ ์ ์ฅ๋ฉ๋๋ค. OBJECT๋ ํค/๊ฐ ํ์ด๋ฅผ ํฌํจํฉ๋๋ค. ๊ฐ๊ฐ์ ํค๋ ์ฐ์ฐ์์ ํ ํน์ฑ์ ๋์๋ฉ๋๋ค.
์ฐ์ฐ์ ์ด๋ฆ |
ํค |
๋ฐ์ดํฐ ํ์ |
์ค๋ช |
---|---|---|---|
|
|||
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๊ณ์ฐ๋ ํจ์์ ๋ชฉ๋ก. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
group-by ์. |
|
|
|||
|
VARCHAR |
๊ฐ์ง ์์ ์กฐ์ธ ์. |
|
|
VARCHAR |
๊ฐ์ ์กฐ์ธ ์. |
|
|
VARCHAR |
์กฐ์ธ ํ์ (INNER). |
|
|
|
VARCHAR |
์ ๋ฐ์ดํธ๋ ํ ์ด๋ธ์ ์ด๋ฆ. |
|
|||
|
VARCHAR |
๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์๋ณธ ์คํ ์ด์ง์ ์ด๋ฆ. |
|
|
VARCHAR |
์คํ ์ด์ง์ ์ ํ. |
|
|
|
VARCHAR |
๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์. |
|
|
VARCHAR |
๋ฐ์ดํฐ๋ฅผ ํ๋ฉดํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ ๋ ฅ ์. |
|
|||
|
NUMBER |
์ ๋ ฅ ๋งค๊ฐ ๋ณ์ ROWCOUNT์ ๊ฐ. |
|
|
NUMBER |
์ ๋ ฅ ๋งค๊ฐ ๋ณ์ TIMELIMIT์ ๊ฐ. |
|
|
|||
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๊ณ์ฐ๋ ํจ์์ ๋ชฉ๋ก. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๊ทธ๋ฃนํ ์ธํธ์ ๋ชฉ๋ก. |
|
|
|||
|
VARCHAR |
์ฝ์ ๋๋ ์. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๋ ์ฝ๋๊ฐ ์ถ๊ฐ๋ ํ ์ด๋ธ ์ด๋ฆ์ ๋ชฉ๋ก. |
|
|
|
VARCHAR |
์ก์ธ์คํ ์ค๋ธ์ ํธ์ ์ด๋ฆ. |
|
|||
|
VARCHAR |
๊ฐ์ง ์์ ์กฐ์ธ ์. |
|
|
VARCHAR |
๊ฐ์ ์กฐ์ธ ์. |
|
|
VARCHAR |
์กฐ์ธ ํ์ (INNER, OUTER, LEFT JOIN ๋ฑ). |
|
|
|
NUMBER |
ํํฐ๋งํ ์ ์๋ ํํ์ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์กฐ์ธ์ ์ฐ์ฐ์ ID. |
|
|
VARCHAR |
์ ๋ฐ์ดํธ๋ ํ ์ด๋ธ์ ์ด๋ฆ. |
|
|||
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๊ฒฐ๊ณผ๊ฐ ์ง๊ณ๋๋ ๋๋จธ์ง ์ด. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
ํผ๋ฒ ๊ฐ์ ๊ฒฐ๊ณผ ์ด. |
|
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
์์ฑ๋ ์์ ๋ชฉ๋ก. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
์ ๋ ฌ ์์๋ฅผ ์ ์ํ๋ ์. |
|
|||
|
NUMBER |
์์ฑ๋ ํํ์ด ์ถ๋ ฅ๋๋ ์์๊ฐ ์ง์ ๋ ์ํ์ค์ ์์น. |
|
|
NUMBER |
์์ฑ๋ ํ์ ๊ฐ์. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
์ ๋ ฌ ์์๋ฅผ ์ ์ํ๋ ์. |
|
|
|||
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
์ค์บ๋ ์ด์ ๋ชฉ๋ก. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๋ฒ ๋ฆฌ์ธํธ ์ด์์ ์ถ์ถ๋ ๊ฒฝ๋ก์ ๋ชฉ๋ก. |
|
|
VARCHAR |
์ก์ธ์ค ์ค์ธ ํ ์ด๋ธ์ ๋ณ์นญ. |
|
|
VARCHAR |
์ก์ธ์ค ์ค์ธ ํ ์ด๋ธ์ ์ด๋ฆ. |
|
|
|
VARCHAR |
๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์คํ ์ด์ง. |
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
ํผ๋ฒ ํด์ ์ฟผ๋ฆฌ์ ์ถ๋ ฅ ์ด. |
|
|
VARCHAR |
์ ๋ฐ์ดํธ๋ ํ ์ด๋ธ์ ์ด๋ฆ. |
|
|||
|
NUMBER |
์์ฑ๋ ๊ฐ์ ๊ฐ์. |
|
|
VARCHAR |
๊ฐ์ ๋ชฉ๋ก. |
|
|
|
VARCHAR๋ก ๊ตฌ์ฑ๋ ARRAY |
๊ณ์ฐ๋ ํจ์์ ๋ชฉ๋ก. |
|
|
VARCHAR |
WITH ์ ์ ๋ณ์นญ์ ๋๋ค. |
์ฐ์ฐ์๊ฐ ๋์ด๋์ง ์์ผ๋ฉด ์๋ฌด๋ฐ ํน์ฑ๋ ์์ฑ๋์ง ์๊ณ ๊ฐ์ด {}
์ผ๋ก ๋ณด๊ณ ๋ฉ๋๋ค.
์ฐธ๊ณ
๋ค์ ์ฐ์ฐ์์๋ ์ฐ์ฐ์ ํน์ฑ์ด ์์ผ๋ฏ๋ก
OPERATOR_ATTRIBUTES
์ ํ ์ด๋ธ ์ ํฌํจ๋์ง ์์ต๋๋ค.UnionAll
ExternalFunction
์ยถ
๋จ์ผ ์ฟผ๋ฆฌ์ ๋ํ ๋ฐ์ดํฐ ๊ฒ์ํ๊ธฐยถ
์ด ์์์๋ ์์ ํ ์ด๋ธ ๋ ๊ฐ๋ฅผ ์กฐ์ธํ๋ SELECT์ ํต๊ณ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
SELECT ๋ฌธ์ ์คํํฉ๋๋ค.
select x1.i, x2.i
from x1 inner join x2 on x2.i = x1.i
order by x1.i, x2.i;
์ฟผ๋ฆฌ ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
set lqid = (select last_query_id());
GET_QUERY_OPERATOR_STATS()๋ฅผ ํธ์ถํ์ฌ ์ฟผ๋ฆฌ์ ๊ฐ๋ณ ์ฟผ๋ฆฌ ์ฐ์ฐ์์ ๋ํ ํต๊ณ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
select * from table(get_query_operator_stats($lqid));
+--------------------------------------+---------+-------------+--------------------+---------------+-----------------------------------------+-----------------------------------------------+----------------------------------------------------------------------+
| QUERY_ID | STEP_ID | OPERATOR_ID | PARENT_OPERATORS | OPERATOR_TYPE | OPERATOR_STATISTICS | EXECUTION_TIME_BREAKDOWN | OPERATOR_ATTRIBUTES |
|--------------------------------------+---------+-------------+--------------------+---------------+-----------------------------------------+-----------------------------------------------+----------------------------------------------------------------------|
| 01a8f330-0507-3f5b-0000-43830248e09a | 1 | 0 | NULL | Result | { | { | { |
| | | | | | "input_rows": 64 | "overall_percentage": 0.000000000000000e+00 | "expressions": [ |
| | | | | | } | } | "X1.I", |
| | | | | | | | "X2.I" |
| | | | | | | | ] |
| | | | | | | | } |
| 01a8f330-0507-3f5b-0000-43830248e09a | 1 | 1 | [ 0 ] | Sort | { | { | { |
| | | | | | "input_rows": 64, | "overall_percentage": 0.000000000000000e+00 | "sort_keys": [ |
| | | | | | "output_rows": 64 | } | "X1.I ASC NULLS LAST", |
| | | | | | } | | "X2.I ASC NULLS LAST" |
| | | | | | | | ] |
| | | | | | | | } |
| 01a8f330-0507-3f5b-0000-43830248e09a | 1 | 2 | [ 1 ] | Join | { | { | { |
| | | | | | "input_rows": 128, | "overall_percentage": 0.000000000000000e+00 | "equality_join_condition": "(X2.I = X1.I)", |
| | | | | | "output_rows": 64 | } | "join_type": "INNER" |
| | | | | | } | | } |
| 01a8f330-0507-3f5b-0000-43830248e09a | 1 | 3 | [ 2 ] | TableScan | { | { | { |
| | | | | | "io": { | "overall_percentage": 0.000000000000000e+00 | "columns": [ |
| | | | | | "bytes_scanned": 1024, | } | "I" |
| | | | | | "percentage_scanned_from_cache": 1, | | ], |
| | | | | | "scan_progress": 1 | | "table_name": "MY_DB.MY_SCHEMA.X2" |
| | | | | | }, | | } |
| | | | | | "output_rows": 64, | | |
| | | | | | "pruning": { | | |
| | | | | | "partitions_scanned": 1, | | |
| | | | | | "partitions_total": 1 | | |
| | | | | | } | | |
| | | | | | } | | |
| 01a8f330-0507-3f5b-0000-43830248e09a | 1 | 4 | [ 2 ] | JoinFilter | { | { | { |
| | | | | | "input_rows": 64, | "overall_percentage": 0.000000000000000e+00 | "join_id": "2" |
| | | | | | "output_rows": 64 | } | } |
| | | | | | } | | |
| 01a8f330-0507-3f5b-0000-43830248e09a | 1 | 5 | [ 4 ] | TableScan | { | { | { |
| | | | | | "io": { | "overall_percentage": 0.000000000000000e+00 | "columns": [ |
| | | | | | "bytes_scanned": 1024, | } | "I" |
| | | | | | "percentage_scanned_from_cache": 1, | | ], |
| | | | | | "scan_progress": 1 | | "table_name": "MY_DB.MY_SCHEMA.X1" |
| | | | | | }, | | } |
| | | | | | "output_rows": 64, | | |
| | | | | | "pruning": { | | |
| | | | | | "partitions_scanned": 1, | | |
| | | | | | "partitions_total": 1 | | |
| | | | | | } | | |
| | | | | | } | | |
+--------------------------------------+---------+-------------+--------------------+---------------+-----------------------------------------+-----------------------------------------------+----------------------------------------------------------------------+
โํญ์ฆํ๋โ ์กฐ์ธ ์ฐ์ฐ์ ์๋ณํ๊ธฐยถ
๋ค์ ์์์๋ GET_QUERY_OPERATOR_STATS๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด ์์์๋ ๊ทธ ์ฐ์ฐ์์ ์ ๋ ฅ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ํ์ ์์ฑํ๋ ์ฟผ๋ฆฌ ๋ด์์ ์ฐ์ฐ์๋ฅผ ์ฐพ์ต๋๋ค.
๋ถ์ํ ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
select *
from t1
join t2 on t1.a = t2.a
join t3 on t1.b = t3.b
join t4 on t1.c = t4.c
;
์ด์ ์ฟผ๋ฆฌ์ ์ฟผ๋ฆฌ ID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
set lid = last_query_id();
๋ค์ ์ฟผ๋ฆฌ๋ ์ฟผ๋ฆฌ์์ ๊ฐ ์กฐ์ธ ์ฐ์ฐ์์ ์ ๋ ฅ ํ์ ๋ํ ์ถ๋ ฅ ํ์ ๋น์จ์ ๋ณด์ฌ์ค๋๋ค.
select
operator_id,
operator_attributes,
operator_statistics:output_rows / operator_statistics:input_rows as row_multiple
from table(get_query_operator_stats($lid))
where operator_type = 'Join'
order by step_id, operator_id;
+---------+-------------+--------------------------------------------------------------------------+---------------+
| STEP_ID | OPERATOR_ID | OPERATOR_ATTRIBUTES | ROW_MULTIPLE |
+---------+-------------+--------------------------------------------------------------------------+---------------+
| 1 | 1 | { "equality_join_condition": "(T4.C = T1.C)", "join_type": "INNER" } | 49.969249692 |
| 1 | 3 | { "equality_join_condition": "(T3.B = T1.B)", "join_type": "INNER" } | 116.071428571 |
| 1 | 5 | { "equality_join_condition": "(T2.A = T1.A)", "join_type": "INNER" } | 12.20657277 |
+---------+-------------+--------------------------------------------------------------------------+---------------+
ํญ์ฆํ๋ ์กฐ์ธ์ ์๋ณํ ํ ๊ฐ ์กฐ์ธ ์กฐ๊ฑด์ ๊ฒํ ํ์ฌ ์กฐ๊ฑด์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ ์ ์์ต๋๋ค.