๐ฆ ๋ฐ์ดํฐ ๋ฒ ์ด์ค (DB) ๐ฆ/๐
พ ์ค๋ผํด DB & SQL
INDEX (์ธ๋ฑ์ค)
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 |