์นดํ…Œ๊ณ ๋ฆฌ:

์‹œ์Šคํ…œ ํ•จ์ˆ˜ (์ฟผ๋ฆฌ ์ •๋ณด) , ํ…Œ์ด๋ธ” ํ•จ์ˆ˜

GET_QUERY_OPERATOR_STATSยถ

์™„๋ฃŒํ•œ ์ฟผ๋ฆฌ ๋‚ด์˜ ๊ฐœ๋ณ„ ์ฟผ๋ฆฌ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ง€๋‚œ 14์ผ๊ฐ„ ์‹คํ–‰๋œ ๋ชจ๋“  ์™„๋ฃŒ๋œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์ด ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์ฟผ๋ฆฌ ์—ฐ์‚ฐ์ž(์˜ˆ: ์กฐ์ธ ์—ฐ์‚ฐ์ž)๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์žฅ ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ์—ฐ์‚ฐ์ž๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์˜ˆ๋กœ, ์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ ํ–‰๋ณด๋‹ค ์ถœ๋ ฅ ํ–‰์ด ๋” ๋งŽ์€ ์กฐ์ธ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” โ€œํญ์ฆํ•˜๋Š”โ€ ์กฐ์ธ (์˜ˆ: ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ฐ์นด๋ฅดํŠธ ๊ณฑ)์˜ ์ง•ํ›„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ†ต๊ณ„๋Š” Snowsight ์˜ ์ฟผ๋ฆฌ ํ”„๋กœํ•„ ํƒญ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GET_QUERY_OPERATOR_STATS() ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ฟผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฟผ๋ฆฌ ํ”„๋กœํ•„์„ ํ†ตํ•ด ํ™•์ธ๋œ ์ผ๋ฐ˜ ์ฟผ๋ฆฌ ๋ฌธ์ œ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๊ตฌ๋ฌธยถ

GET_QUERY_OPERATOR_STATS( <query_id> )
Copy

์ธ์žยถ

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()));
    
    Copy
  • ํŠน์ • ์ฟผ๋ฆฌ(์ฆ‰, ํŠน์ • 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

์ฟผ๋ฆฌ ์—ฐ์‚ฐ์ž์˜ ์œ ํ˜•(์˜ˆ: TableScan ๋˜๋Š” Filter).

OPERATOR_STATISTICS

OBJECT๋ฅผ ํฌํ•จํ•˜๋Š” VARIANT

์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ํ†ต๊ณ„(์˜ˆ: ์—ฐ์‚ฐ์ž์˜ ์ถœ๋ ฅ ํ–‰ ์ˆ˜).

EXECUTION_TIME_BREAKDOWN

OBJECT๋ฅผ ํฌํ•จํ•˜๋Š” VARIANT

์—ฐ์‚ฐ์ž์˜ ์‹คํ–‰ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ •๋ณด.

OPERATOR_ATTRIBUTES

OBJECT๋ฅผ ํฌํ•จํ•˜๋Š” VARIANT

์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ์ •๋ณด. ์ด ์ •๋ณด๋Š” ์—ฐ์‚ฐ์ž ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์—ฐ์‚ฐ์ž์˜ ํŠน์ • ์—ด์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๊ฐ’์€ NULL์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์—ด ์ค‘ ์„ธ ๊ฐœ์— OBJECTs ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์˜ค๋ธŒ์ ํŠธ์—๋Š” ํ‚ค/๊ฐ’ ํŽ˜์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ํ…Œ์ด๋ธ”์—์„œ๋Š” ์ด๋Ÿฌํ•œ ํ…Œ์ด๋ธ”์˜ ํ‚ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

OPERATOR_STATISTICSยถ

OPERATOR_STATISTICS ์—ด์˜ OBJECTs์— ์žˆ๋Š” ํ•„๋“œ์—์„œ๋Š” ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ •๋ณด์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‚ค

์ค‘์ฒฉ ํ‚ค(ํ•ด๋‹น๋˜๋Š” ๊ฒฝ์šฐ)

๋ฐ์ดํ„ฐ ํƒ€์ž…

์„ค๋ช…

dml

๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด(DML) ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ํ†ต๊ณ„:

number_of_rows_inserted

DOUBLE

ํ…Œ์ด๋ธ” 1๊ฐœ(๋˜๋Š” ํ…Œ์ด๋ธ” ์—ฌ๋Ÿฌ ๊ฐœ)์— ์‚ฝ์ž…๋œ ํ–‰ ์ˆ˜.

number_of_rows_updated

DOUBLE

ํ…Œ์ด๋ธ”์—์„œ ์—…๋ฐ์ดํŠธ๋œ ํ–‰ ์ˆ˜.

number_of_rows_deleted

DOUBLE

ํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œ๋œ ํ–‰ ์ˆ˜.

number_of_rows_unloaded

DOUBLE

๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ์ค‘ ์–ธ๋กœ๋“œ๋œ ํ–‰ ์ˆ˜.

external_functions

์™ธ๋ถ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ •๋ณด. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•„๋“œ retries_due_to_transient_errors ์˜ ๊ฐ’์ด 0์ด๋ฉด ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

total_invocations

DOUBLE

์™ธ๋ถ€ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ํšŸ์ˆ˜. (ํ–‰์„ ๋‚˜๋ˆ„๋Š” ์ผ๊ด„ ์ฒ˜๋ฆฌ์˜ ์ˆ˜, ์žฌ์‹œ๋„ ํšŸ์ˆ˜(์ผ์‹œ์ ์ธ ๋„คํŠธ์›Œํฌ ์žฅ์• ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ) ๋“ฑ์œผ๋กœ ์ธํ•ด SQL ๋ฌธ์˜ ํ…์ŠคํŠธ์— ํ‘œ์‹œ๋œ ์™ธ๋ถ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ํšŸ์ˆ˜์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ)

rows_sent

DOUBLE

์™ธ๋ถ€ ํ•จ์ˆ˜๋กœ ์ „์†ก๋œ ํ–‰์˜ ๊ฐœ์ˆ˜.

rows_received

DOUBLE

์™ธ๋ถ€ ํ•จ์ˆ˜๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ๋œ ํ–‰์˜ ๊ฐœ์ˆ˜.

bytes_sent (x-region)

DOUBLE

์™ธ๋ถ€ ํ•จ์ˆ˜๋กœ ์ „์†ก๋œ ํ–‰์˜ ๊ฐœ์ˆ˜. ํ‚ค์— (x-region) ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๋ฆฌ์ „์œผ๋กœ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ฒญ๊ตฌ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ).

bytes_received (x-region)

DOUBLE

์™ธ๋ถ€ ํ•จ์ˆ˜๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ๋œ ํ–‰์˜ ๊ฐœ์ˆ˜. ํ‚ค์— (x-region) ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๋ฆฌ์ „์œผ๋กœ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ฒญ๊ตฌ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ).

retries_due_to_transient_errors

DOUBLE

์ผ์‹œ์ ์ธ ์˜ค๋ฅ˜๋กœ ์ธํ•œ ์žฌ์‹œ๋„ ํšŸ์ˆ˜.

average_latency_per_call

DOUBLE

Snowflake๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ ํ›„ ๋ฐ˜ํ™˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•œ ์‹œ๊ฐ„ ์‚ฌ์ด์˜ ํ˜ธ์ถœ๋‹น ํ‰๊ท  ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

http_4xx_errors

INTEGER

4xx ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ ์ด HTTP ์š”์ฒญ ์ˆ˜์ž…๋‹ˆ๋‹ค.

http_5xx_errors

INTEGER

5xx ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ ์ด HTTP ์š”์ฒญ ์ˆ˜์ž…๋‹ˆ๋‹ค.

average_latency

DOUBLE

์„ฑ๊ณต์ ์ธ HTTP ์š”์ฒญ์„ ์œ„ํ•œ ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

avg_throttle_latency_overhead

DOUBLE

์ œํ•œ์— ๋”ฐ๋ฅธ ์†๋„ ์ €ํ•˜๋กœ ์ธํ•œ ์„ฑ๊ณต์ ์ธ ์š”์ฒญ๋‹น ํ‰๊ท  ์˜ค๋ฒ„ํ—ค๋“œ์ž…๋‹ˆ๋‹ค(HTTP 429).

batches_retried_due_to_throttling

DOUBLE

HTTP 429 ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์žฌ์‹œ๋„๋œ ๋ฐฐ์น˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.

latency_per_successful_call_(p50)

DOUBLE

์„ฑ๊ณต์ ์ธ HTTP ์š”์ฒญ์˜ 50๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์ธ ๋ชจ๋“  ์š”์ฒญ์˜ 50%๊ฐ€ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ด ์‹œ๊ฐ„๋ณด๋‹ค ์งง๊ฒŒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

latency_per_successful_call_(p90)

DOUBLE

์„ฑ๊ณต์ ์ธ HTTP ์š”์ฒญ์˜ 90๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์ธ ๋ชจ๋“  ์š”์ฒญ์˜ 90%๊ฐ€ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ด ์‹œ๊ฐ„๋ณด๋‹ค ์งง๊ฒŒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

latency_per_successful_call_(p95)

DOUBLE

์„ฑ๊ณต์ ์ธ HTTP ์š”์ฒญ์˜ 95๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์ธ ๋ชจ๋“  ์š”์ฒญ์˜ 95%๊ฐ€ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ด ์‹œ๊ฐ„๋ณด๋‹ค ์งง๊ฒŒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

latency_per_successful_call_(p99)

DOUBLE

์„ฑ๊ณต์ ์ธ HTTP ์š”์ฒญ์˜ 99๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์ธ ๋ชจ๋“  ์š”์ฒญ์˜ 99%๊ฐ€ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ด ์‹œ๊ฐ„๋ณด๋‹ค ์งง๊ฒŒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

input_rows

INTEGER

์ž…๋ ฅ ํ–‰ ์ˆ˜. ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž์˜ ์ž…๋ ฅ ์—์ง€๊ฐ€ ์—†๋Š” ์—ฐ์‚ฐ์ž์˜ ๊ฒฝ์šฐ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

io

์ฟผ๋ฆฌ ์ค‘์— ์ˆ˜ํ–‰๋œ I/O(์ž…์ถœ๋ ฅ) ์ž‘์—…์— ๋Œ€ํ•œ ์ •๋ณด.

scan_progress

DOUBLE

ํ•ด๋‹น ํ…Œ์ด๋ธ”์—์„œ ํ˜„์žฌ ์Šค์บ”ํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ฐฑ๋ถ„์œจ.

bytes_scanned

DOUBLE

ํ˜„์žฌ๊นŒ์ง€ ์Šค์บ”ํ•œ ๋ฐ”์ดํŠธ ์ˆ˜.

percentage_scanned_from_cache

DOUBLE

๋กœ์ปฌ ๋””์Šคํฌ ์บ์‹œ์—์„œ ์Šค์บ”ํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ฐฑ๋ถ„์œจ์ž…๋‹ˆ๋‹ค.

bytes_written

DOUBLE

๊ธฐ๋ก๋œ ๋ฐ”์ดํŠธ ์ˆ˜(์˜ˆ: ํ…Œ์ด๋ธ”์— ๋กœ๋“œํ•  ๋•Œ).

bytes_written_to_result

DOUBLE

๊ฒฐ๊ณผ ์˜ค๋ธŒ์ ํŠธ์— ๊ธฐ๋ก๋œ ๋ฐ”์ดํŠธ ์ˆ˜.

์˜ˆ๋ฅผ ๋“ค์–ด, select * from . . . ์€ ์„ ํƒ ํ•ญ๋ชฉ์— ์žˆ๋Š” ๊ฐ ํ•„๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ‘œ ํ˜•์‹์˜ ๊ฒฐ๊ณผ ์„ธํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ, ๊ฒฐ๊ณผ์˜ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ ๋ชจ๋“  ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๊ณ  bytes_written_to_result ๋Š” ๋ฐ˜ํ™˜๋œ ๊ฒฐ๊ณผ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

bytes_read_from_result

DOUBLE

๊ฒฐ๊ณผ ์˜ค๋ธŒ์ ํŠธ์—์„œ ์ฝ์€ ๋ฐ”์ดํŠธ ์ˆ˜.

external_bytes_scanned

DOUBLE

์™ธ๋ถ€ ์˜ค๋ธŒ์ ํŠธ(์˜ˆ: ์Šคํ…Œ์ด์ง€)์—์„œ ์ฝ์€ ๋ฐ”์ดํŠธ ์ˆ˜.

network

network_bytes

DOUBLE

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋œ ๋ฐ์ดํ„ฐ์˜ ์–‘.

output_rows

INTEGER

์ถœ๋ ฅ ํ–‰ ์ˆ˜. ์ด๊ฒƒ์€ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ฐ์‚ฐ์ž(๋ณดํ†ต RESULT ์—ฐ์‚ฐ์ž)์˜ ๊ฒฝ์šฐ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pruning

ํ…Œ์ด๋ธ” ์ž˜๋ผ๋‚ด๊ธฐ์— ๋Œ€ํ•œ ์ •๋ณด.

partitions_scanned

DOUBLE

ํ˜„์žฌ๊นŒ์ง€ ์Šค์บ”ํ•œ ํŒŒํ‹ฐ์…˜์˜ ์ˆ˜.

partitions_total

DOUBLE

์ง€์ •๋œ ํ…Œ์ด๋ธ”์˜ ์ด ํŒŒํ‹ฐ์…˜ ์ˆ˜.

spilling

์ž„์‹œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ํ•ฉํ•˜์ง€ ์•Š๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ์ •๋ณด.

bytes_spilled_remote_storage

DOUBLE

์›๊ฒฉ ๋””์Šคํฌ๋กœ ์œ ์ถœ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ณผ๋ฅจ.

bytes_spilled_local_storage

DOUBLE

๋กœ์ปฌ ๋””์Šคํฌ๋กœ ์œ ์ถœ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ณผ๋ฅจ.

extension_functions

ํ™•์žฅ ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ •๋ณด. ํ•„๋“œ์˜ ๊ฐ’์ด 0์ด๋ฉด ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Java UDF handler load time

DOUBLE

๋กœ๋“œํ•  Java UDF ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์œ„ํ•œ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Total Java UDF handler invocations

DOUBLE

Java UDF ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

Max Java UDF handler execution time

DOUBLE

์‹คํ–‰ํ•  Java UDF ์ฒ˜๋ฆฌ๊ธฐ์˜ ์ตœ๋Œ€ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Avg Java UDF handler execution time

DOUBLE

Java UDF ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์‹คํ–‰ํ•  ํ‰๊ท  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Java UDTF process() invocations

DOUBLE

Java UDTF ํ”„๋กœ์„ธ์Šค ๋ฉ”์„œ๋“œ ๊ฐ€ ํ˜ธ์ถœ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

Java UDTF process() execution time

DOUBLE

Java UDTF ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Avg Java UDTF process() execution time

DOUBLE

Java UDTF ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์— ๊ฑธ๋ฆฐ ํ‰๊ท  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Java UDTF's constructor invocations

DOUBLE

Java UDTF ์ƒ์„ฑ์ž ๊ฐ€ ํ˜ธ์ถœ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

Java UDTF's constructor execution time

DOUBLE

Java UDTF ์ƒ์„ฑ์ž ์‹คํ–‰์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Avg Java UDTF's constructor execution time

DOUBLE

Java UDTF ์ƒ์„ฑ์ž ์‹คํ–‰์— ๊ฑธ๋ฆฌ๋Š” ํ‰๊ท  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Java UDTF endPartition() invocations

DOUBLE

Java UDTF endPartition ๋ฉ”์„œ๋“œ ๊ฐ€ ํ˜ธ์ถœ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

Java UDTF endPartition() execution time

DOUBLE

Java UDTF endPartition ๋ฉ”์„œ๋“œ ์‹คํ–‰์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Avg Java UDTF endPartition() execution time

DOUBLE

Java UDTF endPartition ๋ฉ”์„œ๋“œ ์‹คํ–‰์— ๊ฑธ๋ฆฌ๋Š” ํ‰๊ท  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Max Java UDF dependency download time

DOUBLE

Java UDF ์ข…์† ํ•ญ๋ชฉ ๋‹ค์šด๋กœ๋“œ์— ๊ฑธ๋ฆฌ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Max JVM memory usage

DOUBLE

JVM์—์„œ ๋ณด๊ณ ํ•œ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

Java UDF inline code compile time in ms

DOUBLE

Java UDF ์ธ๋ผ์ธ ์ฝ”๋“œ์˜ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Total Python UDF handler invocations

DOUBLE

Python UDF ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ํ˜ธ์ถœ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

Total Python UDF handler execution time

DOUBLE

Python UDF ์ฒ˜๋ฆฌ๊ธฐ์˜ ์ด ์‹คํ–‰ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Avg Python UDF handler execution time

DOUBLE

Python UDF ์ฒ˜๋ฆฌ๊ธฐ ์‹คํ–‰์— ๊ฑธ๋ฆฌ๋Š” ํ‰๊ท  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Python sandbox max memory usage

DOUBLE

Python ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์˜ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

Avg Python env creation time: Download and install packages

DOUBLE

ํŒจํ‚ค์ง€ ๋‹ค์šด๋กœ๋“œ์™€ ์„ค์น˜๋ฅผ ํฌํ•จํ•˜์—ฌ Python ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ํ‰๊ท  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Conda solver time

DOUBLE

Python ํŒจํ‚ค์ง€๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Conda ์†”๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Conda env creation time

DOUBLE

Python ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Python UDF initialization time

DOUBLE

Python UDF๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

Number of external file bytes read for UDFs

DOUBLE

UDF์— ๋Œ€ํ•ด ์ฝ์€ ์™ธ๋ถ€ ํŒŒ์ผ ๋ฐ”์ดํŠธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

Number of external files accessed for UDFs

DOUBLE

UDF์— ๋Œ€ํ•ด ์•ก์„ธ์Šคํ•œ ์™ธ๋ถ€ ํŒŒ์ผ ์ˆ˜์ž…๋‹ˆ๋‹ค.

EXECUTION_TIME_BREAKDOWNยถ

EXECUTION_TIME_BREAKDOWN ์—ด์˜ OBJECTs์— ์žˆ๋Š” ํ•„๋“œ๊ฐ€ ์•„๋ž˜์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‚ค

๋ฐ์ดํ„ฐ ํƒ€์ž…

์„ค๋ช…

overall_percentage

DOUBLE

์ด ์—ฐ์‚ฐ์ž๊ฐ€ ์‚ฌ์šฉํ•œ ์ด ์ฟผ๋ฆฌ ์‹œ๊ฐ„์˜ ๋ฐฑ๋ถ„์œจ.

initialization

DOUBLE

์ฟผ๋ฆฌ ์ฒ˜๋ฆฌ ์„ค์ •์— ์‚ฌ์šฉํ•œ ์‹œ๊ฐ„.

processing

DOUBLE

CPU์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ ์‹œ๊ฐ„.

synchronization

DOUBLE

์ฐธ์—ฌ ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ํ™œ๋™ ๋™๊ธฐํ™”์— ์‚ฌ์šฉํ•œ ์‹œ๊ฐ„.

local_disk_io

DOUBLE

๋กœ์ปฌ ๋””์Šคํฌ ์•ก์„ธ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์ฒ˜๋ฆฌ๊ฐ€ ์ฐจ๋‹จ๋œ ์‹œ๊ฐ„.

remote_disk_io

DOUBLE

์›๊ฒฉ ๋””์Šคํฌ ์•ก์„ธ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์ฒ˜๋ฆฌ๊ฐ€ ์ฐจ๋‹จ๋œ ์‹œ๊ฐ„.

network_communication

DOUBLE

์ฒ˜๋ฆฌ์—์„œ ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๊ธฐ๋‹ค๋ ธ๋˜ ์‹œ๊ฐ„.

OPERATOR_ATTRIBUTESยถ

๊ฐ ์ถœ๋ ฅ ํ–‰์€ ์ฟผ๋ฆฌ์—์„œ ํ•œ ์—ฐ์‚ฐ์ž๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ์—์„œ๋Š” ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์ž ์œ ํ˜•(์˜ˆ: Filter ์—ฐ์‚ฐ์ž)์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด ํ‘œ์—๋Š” ๊ฐ ์œ ํ˜•์˜ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ๊ฐ€๋Šฅํ•œ ํŠน์„ฑ(์˜ˆ: ํ–‰์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์‹)์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ์‚ฐ์ž ํŠน์„ฑ์€ VARIANT ํ˜•์‹์ด๊ณ  OBJECT ๋ฅผ ํฌํ•จํ•˜๋Š” OPERATOR_ATTRIBUTES ์—ด์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. OBJECT๋Š” ํ‚ค/๊ฐ’ ํŽ˜์–ด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ํ‚ค๋Š” ์—ฐ์‚ฐ์ž์˜ ํ•œ ํŠน์„ฑ์— ๋Œ€์‘๋ฉ๋‹ˆ๋‹ค.

์—ฐ์‚ฐ์ž ์ด๋ฆ„

ํ‚ค

๋ฐ์ดํ„ฐ ํƒ€์ž…

์„ค๋ช…

Aggregate

functions

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๊ณ„์‚ฐ๋œ ํ•จ์ˆ˜์˜ ๋ชฉ๋ก.

grouping_keys

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

group-by ์‹.

CartesianJoin

additional_join_condition

VARCHAR

๊ฐ™์ง€ ์•Š์Œ ์กฐ์ธ ์‹.

equality_join_condition

VARCHAR

๊ฐ™์Œ ์กฐ์ธ ์‹.

join_type

VARCHAR

์กฐ์ธ ํƒ€์ž…(INNER).

Delete

table_name

VARCHAR

์—…๋ฐ์ดํŠธ๋œ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„.

ExternalScan

stage_name

VARCHAR

๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์›๋ณธ ์Šคํ…Œ์ด์ง€์˜ ์ด๋ฆ„.

stage_type

VARCHAR

์Šคํ…Œ์ด์ง€์˜ ์œ ํ˜•.

Filter

filter_condition

VARCHAR

๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์‹.

Flatten

input

VARCHAR

๋ฐ์ดํ„ฐ๋ฅผ ํ‰๋ฉดํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ž…๋ ฅ ์‹.

Generator

row_count

NUMBER

์ž…๋ ฅ ๋งค๊ฐœ ๋ณ€์ˆ˜ ROWCOUNT์˜ ๊ฐ’.

time_limit

NUMBER

์ž…๋ ฅ ๋งค๊ฐœ ๋ณ€์ˆ˜ TIMELIMIT์˜ ๊ฐ’.

GroupingSets

functions

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๊ณ„์‚ฐ๋œ ํ•จ์ˆ˜์˜ ๋ชฉ๋ก.

key_sets

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๊ทธ๋ฃนํ™” ์„ธํŠธ์˜ ๋ชฉ๋ก.

Insert

input_expression

VARCHAR

์‚ฝ์ž…๋˜๋Š” ์‹.

table_names

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๋ ˆ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋œ ํ…Œ์ด๋ธ” ์ด๋ฆ„์˜ ๋ชฉ๋ก.

InternalObject

object_name

VARCHAR

์•ก์„ธ์Šคํ•œ ์˜ค๋ธŒ์ ํŠธ์˜ ์ด๋ฆ„.

Join

additional_join_condition

VARCHAR

๊ฐ™์ง€ ์•Š์Œ ์กฐ์ธ ์‹.

equality_join_condition

VARCHAR

๊ฐ™์Œ ์กฐ์ธ ์‹.

join_type

VARCHAR

์กฐ์ธ ํƒ€์ž…(INNER, OUTER, LEFT JOIN ๋“ฑ).

JoinFilter

join_id

NUMBER

ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ํŠœํ”Œ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์กฐ์ธ์˜ ์—ฐ์‚ฐ์ž ID.

Merge

table_name

VARCHAR

์—…๋ฐ์ดํŠธ๋œ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„.

Pivot

grouping_keys

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๊ฒฐ๊ณผ๊ฐ€ ์ง‘๊ณ„๋˜๋Š” ๋‚˜๋จธ์ง€ ์—ด.

pivot_column

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

ํ”ผ๋ฒ— ๊ฐ’์˜ ๊ฒฐ๊ณผ ์—ด.

Result

expressions

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

์ƒ์„ฑ๋œ ์‹์˜ ๋ชฉ๋ก.

Sort

sort_keys

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

์ •๋ ฌ ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜๋Š” ์‹.

SortWithLimit

offset

NUMBER

์ƒ์„ฑ๋œ ํŠœํ”Œ์ด ์ถœ๋ ฅ๋˜๋Š” ์ˆœ์„œ๊ฐ€ ์ง€์ •๋œ ์‹œํ€€์Šค์˜ ์œ„์น˜.

rows

NUMBER

์ƒ์„ฑ๋œ ํ–‰์˜ ๊ฐœ์ˆ˜.

sort_keys

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

์ •๋ ฌ ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜๋Š” ์‹.

TableScan

columns

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

์Šค์บ”๋œ ์—ด์˜ ๋ชฉ๋ก.

extracted_variant_paths

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๋ฒ ๋ฆฌ์–ธํŠธ ์—ด์—์„œ ์ถ”์ถœ๋œ ๊ฒฝ๋กœ์˜ ๋ชฉ๋ก.

table_alias

VARCHAR

์•ก์„ธ์Šค ์ค‘์ธ ํ…Œ์ด๋ธ”์˜ ๋ณ„์นญ.

table_name

VARCHAR

์•ก์„ธ์Šค ์ค‘์ธ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„.

Unload

location

VARCHAR

๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ์Šคํ…Œ์ด์ง€.

Unpivot

expressions

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

ํ”ผ๋ฒ— ํ•ด์ œ ์ฟผ๋ฆฌ์˜ ์ถœ๋ ฅ ์—ด.

Update

table_name

VARCHAR

์—…๋ฐ์ดํŠธ๋œ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„.

ValuesClause

value_count

NUMBER

์ƒ์„ฑ๋œ ๊ฐ’์˜ ๊ฐœ์ˆ˜.

values

VARCHAR

๊ฐ’์˜ ๋ชฉ๋ก.

WindowFunction

functions

VARCHAR๋กœ ๊ตฌ์„ฑ๋œ ARRAY

๊ณ„์‚ฐ๋œ ํ•จ์ˆ˜์˜ ๋ชฉ๋ก.

WithClause

name

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;
Copy

์ฟผ๋ฆฌ ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

set lqid = (select last_query_id());
Copy

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               |                                               |                                                                      |
|                                      |         |             |                    |               |   }                                     |                                               |                                                                      |
|                                      |         |             |                    |               | }                                       |                                               |                                                                      |
+--------------------------------------+---------+-------------+--------------------+---------------+-----------------------------------------+-----------------------------------------------+----------------------------------------------------------------------+
Copy

โ€œํญ์ฆํ•˜๋Š”โ€ ์กฐ์ธ ์—ฐ์‚ฐ์ž ์‹๋ณ„ํ•˜๊ธฐยถ

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” 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
;
Copy

์ด์ „ ์ฟผ๋ฆฌ์˜ ์ฟผ๋ฆฌ ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

set lid = last_query_id();
Copy

๋‹ค์Œ ์ฟผ๋ฆฌ๋Š” ์ฟผ๋ฆฌ์—์„œ ๊ฐ ์กฐ์ธ ์—ฐ์‚ฐ์ž์˜ ์ž…๋ ฅ ํ–‰์— ๋Œ€ํ•œ ์ถœ๋ ฅ ํ–‰์˜ ๋น„์œจ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

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  |
+---------+-------------+--------------------------------------------------------------------------+---------------+
Copy

ํญ์ฆํ•˜๋Š” ์กฐ์ธ์„ ์‹๋ณ„ํ•œ ํ›„ ๊ฐ ์กฐ์ธ ์กฐ๊ฑด์„ ๊ฒ€ํ† ํ•˜์—ฌ ์กฐ๊ฑด์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.