๐ 22-08-28
SQLP ์ด๋ก ๋ณต์ต
(1) ๊ณ ๋ํ
SQLP ์ค๊ธฐ ํ์ด
(1) [SQLP์ค๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(3)๋ฐ์ดํฐ๋ฒ ์ด์ค CALL ์ต์ํ 39๋ฒ
(2) ์ค๊ธฐ 34๋ฒ
(3) ์ค๊ธฐ 40๋ฒ
SQLP ํ๊ธฐ ํ์ด
(1) [SQLPํ๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(2)DML ํ๋
(2) [SQLPํ๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(3)๋ฐ์ดํฐ๋ฒ ์ด์ค Call ์ต์ํ
(3) [SQLPํ๊ธฐํ์ด]6์ฅ ๊ณ ๊ธSQLํ๋(4) ํํฐ์
๋
๐ 8/28 ๋ณต๊ธฐ
[SQLPํ๊ธฐ๋ฌธ์ ]6์ฅ ๊ณ ๊ธSQLํ๋(2)DML ํ๋
[1] 23๋ฒ
- DML ์์๋ ์ตํฐ๋ง์ด์ ๋ชจ๋๊ฐ ๋ฌด์กฐ๊ฑด 'ALL ROWS'์ด๋ค.
[2] Direct Path Insert
- 27๋ฒ
- Direct Path Insert๊ฐ ๋น ๋ฅธ ์ด์
- undo ๋ก๊ทธ์ Redo ๋ก๊ทธ๋ฅผ ์์ฑํ์ง ์๋๋ค.
- Freelist๋ฅผ ์ฐธ์กฐํ์ง ์๊ณ HWM ๋ฐ๊นฅ ์์ญ์ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์
๋ ฅํ๋ค.
- Insert ํ ๋ธ๋ก์ ๋ฒํผ์บ์์์ ํ์ํ์ง ์๊ณ ๋ฐ์ดํฐ ํ์ผ์ ์ง์ ๊ธฐ๋กํ๋ค.
- Direct Path Insert๊ฐ ์๋ํ๋ ๊ฒฝ์ฐ
- Insert ~ Select ๋ฌธ์ append ํํธ ์ฌ์ฉ
- ๋ณ๋ ฌ DML ํ์ฑํ ํ INSERT ๋ฌธ์ parallel ํํธ ์ฌ์ฉ
- CTAS๋ก ํ
์ด๋ธ ์์ฑ
[3] merge into ๊ตฌ๋ฌธ์ update๊ตฌ๋ฌธ๊ณผ insert ๊ตฌ๋ฌธ์ผ๋ก ๋์ ํ๊ธฐ
40๋ฒ
- merge into ๊ตฌ๋ฌธ์ด ์ด๋ ค์ฐ๋ฉด update๊ตฌ๋ฌธ๊ณผ insert ๊ตฌ๋ฌธ์ ๋๋ ์ ํด๋ ๋๋ค.
[4] update ํ๋์ ์ค๋ณต์ฒดํฌ๋ Exists๋ฌธ์ผ๋ก
์ค๊ธฐ 34๋ฒ
์ค๊ธฐ 40๋ฒ
- โญ๏ธ ๋ฌด๋ฆฌํ๊ฒ VIEW๋ก ๋ฐ๊พธ์ด์ ๊ทธ ์์์ ๋ง no_merge ์ฐ๊ณ ๊ทธ๋ฌ์ง ๋ง๊ณ ๊ทธ๋ฅ ๊ฐ๋จํ๊ฒ Exists๋ฌธ์ผ๋ก ์ฒดํฌํ์ฌ ํ๋ํ๋ค.
[5] DB ์ ์ฅํ ํจ์์ ์ํ ์ฑ๋ฅ ์ ํ๋ฅผ ํด์ํ๋ ๋ฐฉ์
48
- DB ์ ์ฅํ ํจ์๋ฅผ C, JAVA, VB ๋ฑ ์ ํ๋ฆฌ์ผ์ด์
ํจ์๋ก ์ ํํ๋ฉด, Recursive Call ๋์ User Call์ด ๋ฐ์ํ๋ฏ๋ก ์ฑ๋ฅ์ด ๋ ๋๋ ค์ง๋ค.
- CASE ๋ฌธ์ด๋ ์กฐ์ธ๋ฌธ์ ํ์ฉํจ์ผ๋ก์จ DB ์ ์ฅํ ํจ์๋ฅผ ์ ๊ฑฐํ๋ค๋ฉด, "ํจ์ ํธ์ถ ๋ฐ
Recursive Call์ด ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก"์ฑ๋ฅ ๊ฐ์ ์ ํฐ ๋์์ด ๋๋ค.
- Deterministic ํจ์๋ก ์ ํํ๋ฉด ์บ์ฑ ํจ๊ณผ๊ฐ ๋ํ๋๋ค.
- ํจ์์์ ์ฐธ์กฐํ๋ ํ
์ด๋ธ ๋ฐ์ดํฐ๊ฐ ์์ฃผ ๋ณํ์ง ์๋๋ค๋ฉด, Result ์บ์ ๊ธฐ๋ฅ๋ ๋์์ด
๋๋ค.
[6] ์ฟผ๋ฆฌ๋ฅผ ๋ด์ฅํ DB ์ ์ฅํ ํจ์์ ์ฝ๊ธฐ ์ผ๊ด์ฑ ์ด์
51
- ํจ์๋ฅผ ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ์ ์์์ ์คํํ ๋ ๊ฐ ์
๋ ฅ๊ฐ์ ๋ํ ์ฒซ ๋ฒ์งธ ํจ์ ํธ์ถ์ด ์ผ์ด๋ ๋๊น์ง์ ์๊ฐ์ฐจ ๋๋ฌธ์ ๋ณด์ฅํ๊ธฐ ์ด๋ ต๋ค.
- ์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ "์กฐ์ธ"์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ค. ์ฆ, ์ค๊ฐ์ ๊ฐ์ด ๋ณํ๋๋ผ๋ ์ฟผ๋ฆฌ ์์ ์์
๊ธฐ์ค์ผ๋ก ์ผ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ค.
[7] ๋๋ช
์ด์ธ ์ด์
53
- ๋๋ช
์ด์ธ์ด ์์ ์๋ ์๊ธฐ์ DISTINCT๋ฅผ ํจ๋ถ๋ก ์ง์ฐ๋ฉด ์๋๋ค.
[8] Range ํํฐ์
๋
2๋ฒ
- ์
๋ ฅ ๊ณต๊ฐ์ ์ฐพ์ง ๋ชปํด ์๋ฌ๊ฐ ๋ฐ์ํ๋ ํ์์ ๋ฐฉ์งํ๋ ค๋ฉด MAXVALUE ํํฐ์
์ ์ถ๊ฐํด์ผ ํ๋ค.
PARTITION BY RANGE (์ฃผ๋ฌธ์ผ์) (
PARTITION P1 VALUES LESS THAN (TO_DATE('20200701','YYYYMMDD')) ,
PARTITION P2 VALUES LESS THAN (TO_DATE('20210101','YYYYMMDD')) ,
PARTITION P3 VALUES LESS THAN (TO_DATE('20210701','YYYYMMDD')) ,
PARTITION P4 VALUES LESS THAN (TO_DATE('20220101','YYYYMMDD')) ,
PARTITION P_MAX VALUES LESS THAN (MAXVALUE)
);
[9] List ํํฐ์
- List ํํฐ์
์ ๋จ์ผ ์ปฌ๋ผ์ผ๋ก๋ง ํํฐ์
ํ ์ ์๋ค.
[10] ํํฐ์
๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ
12
- ํํฐ์
pruning์ ํํฐ์
ํค ์ปฌ๋ผ์ LIKE ์กฐ๊ฑด์ ์ฌ์ฉํ๋ฉด ๋ถํ์ํ ํํฐ์
์ ์ฝ๋ ํ์์ด ์๊ธธ ์ ์์ผ๋ฏ๋ก ์ฝ์ด์ผ ํ ๋ฒ์๋ฅผ ์ ํํ ๋ช
์ํ๋ BETWEEN ์กฐ๊ฑด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
[9] ์ ํฉํ ์ธ๋ฑ์ค ํํฐ์
์ ํ
21,23
- ๋นํํฐ์
๋ ์ธ๋ฑ์ค๋ ํ๋์ ๊ทธ๋ค์ง ์ข์ง ๋ชปํ๋ฏ ?
- Global ํํฐ์
๊ณผ ๋นํํฐ์
์ธ๋ฑ์ค๋ ํ
์ด๋ธ ๊ฐ์ฉ์ฑ์ ์ข์ง ์๋ค.
- ๋ณด๊ด ๊ธฐ๊ฐ์ ์ด๊ณผํ ๊ณผ๊ฑฐ ํํฐ์
์ Drop ํ๋ฉด Unusable ์ํ๋ก ์ ํ๋๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ฌ์์ฑํ๋ ๋์ ์๋น์ค๋ฅผ ์ค์งํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- โญ๏ธ ๋ฐ๋ผ์ ์ฑ๋ฅ์ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค๋ฉด ๊ฐ๊ธ์ Local ํํฐ์
์ ์ ํํด์ผ ํ๋ค. โญ๏ธ
- โญ๏ธ ํ์ง๋ง ํํฐ์
ํค๊ฐ ์กฐ๊ฑด์ ์ ์์ด์ ๋ชจ๋ ํํฐ์
์ ์ค์บํด์ผํ๋ค๋ฉด ๊ทธ ๋๋ ๋นํํฐ์
๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๋ง๋ค. โญ๏ธ