Meteora_ 2021. 2. 17. 16:55
728x90

index (์ƒ‰์ธ)

'๋นจ๋ฆฌ ์ฐพ๊ธฐ ์œ„ํ•œ ๋ชฉ์ '

'์›ํ•˜๋Š” ์ •๋ณด์˜ ์œ„์น˜๋ฅผ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์•Œ์•„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•'

 

์ž๋™ ์ƒ์„ฑ : Primary Key, Unique key
์ˆ˜๋™ ์ƒ์„ฑ : Query
           

์ƒ์„ฑ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ


1. where์ ˆ์ด๋‚˜ join์•ˆ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ปฌ๋Ÿผ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
2. NULL๊ฐ’์ด ๋งŽ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ปฌ๋Ÿผ
3. where์ ˆ์ด๋‚˜ join์•ˆ์— ๋‘๊ฐœ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์ปฌ๋Ÿผ
    
๋น„ํšจ์œจ์ ์ธ ๊ฒฝ์šฐ
1. ํ…Œ์ด๋ธ”์˜ Data์ˆ˜(row)๊ฐ€ ์ ์„ ๋•Œ (3000๊ฐœ ์ดํ•˜)
2. ํ…Œ์ด๋ธ”์ด ์ž์ฃผ ๊ฐฑ์‹ ๋˜๋Š” ๊ฒฝ์šฐ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-------------------------------------------------------
--1# ํ…Œ์ด๋ธ” ์ƒ์„ฑ 
CREATE TABLE EMP_COPY
AS
SELECT *
FROM employees;
-------------------------------------------------------
--2# INDEX ์ž๋™์ƒ์„ฑ
ALTER TABLE EMP_COPY
ADD
CONSTRAINT PK_EMPCOPY_01 PRIMARY KEY(employee_id); -- Primary Key ์„ค์ • ์ธ๋ฑ์Šค ์ž๋™ ์ƒ์„ฑ(์œ ๋‹ˆํฌ ํ‚ค๋„ ์ž๋™์ƒ์„ฑ)
-------------------------------------------------------
--3# INDEX ํ™•์ธ
SELECT 
*
FROM ALL_INDEXES -- ์—ฌ๊ธฐ๊นŒ์ง€ ์ธ๋ฑ์Šค ๋ชจ๋‘ ์ถœ๋ ฅ
WHERE index_name IN('PK_EMPCOPY_01'); -- ํ•ด๋‹น ์ธ๋ฑ์Šค ํ™•์ธ
------------------------------------------------------- 
--4# INDEX ์ˆ˜๋™์ƒ์„ฑ
CREATE INDEX EMP_INDEX
ON
EMP_COPY(MANAGER_ID); --EMP_COPY ํ…Œ์ด๋ธ”์˜ MANAGER_ID์— ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค. (ํšจ์œจ์ ์ด์ง€ ์•Š์Œ)
-------------------------------------------------------
--5# INDEX ์‚ญ์ œ
DROP TABLE EMP_COPY
CASCADE CONSTRAINTS; --CASCDE๋ฅผ ์•ˆ๋ถ™์ด๋ฉด ์ฐŒ๊บผ๊ธฐ๊ฐ€ ๋‚จ๋Š”๋‹ค.
 
 
 
cs