More Related Content Similar to Oracle Optimizer presentation (13) Oracle Optimizer presentation4. SYNTAX CHECK
๋ค์ ์ค๋ฅ๋ Syntax Check๋ฅผ ์คํจํ ํ๋ฉด์
๋๋ค.
SQL ๋ฌธ์ฅ ์์ฒด์์ ๊ตฌ๋ฌธ์ ๋๋ ์ ์๋์ง ์ฒดํฌํฉ๋๋ค.
์ ์ค๋ฅ๋ ์์ํ ์์น์ ํค์๋๋ฅผ ์ฐพ์ ์ ์์ด์ ๋ฐ์ํ ๊ฒ์
๋๋ค.
5. SEMANTIC CHECK
๋ค์ ์ค๋ฅ๋ Semantic Check๋ฅผ ์คํจํ ํ๋ฉด์
๋๋ค.
๊ฐ ๋๋์ด์ง ๊ตฌ๋ฌธ์์์ ์๋ฏธ๋ฅผ ์ฒดํฌํฉ๋๋ค.
์ ์ค๋ฅ๋ ํ
์ด๋ธ ์ด๋ฆ์ ์๋ฏธ๊ฐ ์๋ชป๋์ด(์ผ์ชฝ),
ํ
์ด๋ธ์ ์ฐพ์ ์ ์์ด(์ค๋ฅธ์ชฝ) ๋ฐ์ํ ์ค๋ฅ์
๋๋ค.
6. SHARED POOL CHECK
SQL ID๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ํ์ธํ๊ฑฐ๋
Execution Plan์ ํด์๊ฐ์ ํ์ธํ์ฌ
๋ฆฌ์์ค๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๋จ๊ณ๋ฅผ ๊ฑด๋ ๋ธ ์ ์์ต๋๋ค.
9. Displaying the Execution plan
ยญยญย SH(Salesย History)ย Schemaย
SELECTย prod_category,ย AVG(amount_sold)ย
FROMย salesย s,ย productsย pย
WHEREย p.prod_idย =ย s.prod_idย
GROUPย BYย prod_categoryอพย
15. COST๋?
Query์ ์ํด ์ฌ์ฉ๋ IO, CPU, ๋คํธ์ํฌ ๋ฆฌ์์ค๋ฅผ ์ ์ ํ ์ ๋๋ฅผ ๊ฐ์ง๊ณ
Oracle Optimizer๊ฐ ์ ํ ๋ฆฌ์์ค ์ฌ์ฉ ๊ธฐ์ค์ผ๋ก,
๋ฆฌ์์ค๊ฐ ๊ฐ์ฅ ์ ๋ค๊ณ ์ฐ์ ๋๋ Execution plan์ ์ ํํฉ๋๋ค.
16. OPTIMIZER๊ฐ EXECUTION PLAN์ ๊ฒฐ์ ํ๋ ์์
Component Description
Cardinality ๊ฐ Operation์ ์ํ ์ ๋ฐํ๋๋ ํ์ ์
Access method ๋ฐ์ดํฐ๊ฐ ๊ฐ ํ
์ด๋ธ ๋๋ ์ธ๋ฑ์ค์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
Join method ํ
์ด๋ธ์ ์กฐ์ธ ์ ์ฌ์ฉ๋๋ ๋ฉ์๋(e.g., hash, sort-merge, etc.)
Join type ์กฐ์ธ์ ์ ํ (e.g., outer, anti, semi, etc.)
Join order ๊ฐ ํ
์ด๋ธ์ด ์กฐ์ธ๋๋ ์์
Partition pruning ํ
์ด๋ธ์ด๋ ์ธ๋ฑ์ค๊ฐ ๋ ์์ ์กฐ๊ฐ์ผ๋ก ์ชผ๊ฐ์ง ์ ์๋๊ฐ
(Pstart Pstop ํญ๋ชฉ)
Parallel Execution ๊ฐ Operation์ด ๋ณ๋ ฌ์ ์ผ๋ก ์คํ๋์๋๊ฐ
18. STATISTICS
Statistic Name Description
recursive calls ์ ์ ์ ์์คํ
๋ ๋ฒจ์์ ๋ชจ๋ ์์ฑ๋ ์ฌ๊ท ํธ์ถ ์.
db block gets ํ์ฌ ๋ธ๋ก์ด ์์ฒญ๋ ํ์
consistent gets ์์ฒญ๋ ๋ธ๋ก์ ์ผ๊ด์ ์ผ๋ก ์ฝ์ ํ์
physical reads ๋์คํฌ๋ก๋ถํฐ ์ฝ์ ์ด ๋ฐ์ดํฐ ๋ธ๋ก ์
redo size ๋ฐ์ดํธ๋ก ์์ฑ๋ ๋ฆฌ๋์ ์ด๋
bytes sent via SQL*Net to client ํฌ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค์์ ํด๋ผ์ด์ธํธ๋ก ์ ์ก๋ ์ด ๋ฐ์ดํธ ์
bytes received via SQL*Net from
client
Oracle Net์ ํตํด ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ ์ด ๋ฐ์ดํธ ์
SQL*Net roundtrips to/from
client
ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ฃผ๊ณ ๋ฐ์ Oracle Net์ ๋ชจ๋ ๋ฉ์์ง๋ค์ ์
sorts (memory) ์ด๋ ํ ๋์คํฌ ์ฐ๊ธฐ๋ ์ฒ๋ฆฌํ์ง ์์ ์์ ํ ๋ฉ๋ชจ๋ฆฌ์์๋ง ์ฒ๋ฆฌํ sort
operation์ ์
sorts (disk) ํ๋ฒ์ด๋ผ๋ ๋์คํฌ ์ฐ๊ธฐ๋ฅผ ์๊ตฌํ sort operation์ ์
rows processed ์์
์ค์ ์ฒ๋ฆฌ ๋ ํ์ ์
19. REFERENCE
[PDF] The Oracle Optimizer Explain the Explain Plan
[PDF] Understanding Optimizer Statistics
About SQL Processing
The Query Optimizer
Using EXPLAIN PLAN
Using Autotrace in SQL*Plus