๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DATABASE/SQL

[ Oracle SQL ] ์ธ๋ฑ์Šค(INDEX)

by haeun ํ•˜์€ 2022. 5. 11.
728x90

๐Ÿ“— ์ธ๋ฑ์Šค(INDEX)

 

โœ” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋™์ž‘์˜ ์†๋„๋ฅผ ๋†’์—ฌ์ฃผ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ

โœ” ์ธ๋ฑ์Šค๋Š” ์›ํ•˜๋Š” ์ •๋ณด์˜ ์œ„์น˜๋ฅผ ๋น ๋ฅด๊ณ , ์ •ํ™•ํ•˜๊ณ , ์ง€๋Šฅ์ ์œผ๋กœ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณตํ•œ๋‹ค.

โœ” ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ” ๋‚ด์˜ 1๊ฐœ์˜ ์ปฌ๋Ÿผ, ํ˜น์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปฌ๋Ÿผ์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.

โœ” ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ค์ •ํ•  ๋•Œ ๊ณ ์œ  ์ œ์•ฝ ์กฐ๊ฑด์ธ PRIMARY KEY๋‚˜ UNIQUE๋กœ ์„ค์ •ํ•˜๋ฉด Oracle์€ ์ž๋™์œผ๋กœ ์ด ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด Unique index๋ฅผ ์„ค์ •ํ•œ๋‹ค.

โœ… Unique index : ๋ฐ์ดํ„ฐ ๊ฐ’์ด ์ค‘๋ณต๋จ์ด ์—†์ด ์œ ์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ–ˆ์„ ๋•Œ, ๊ณ ์œ  ์ธ๋ฑ์Šค๋Š” ์ค‘๋ณต๋œ ํ•ญ๋ชฉ์ด ๋“ฑ๋ก๋˜๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค์˜ ๋Œ€์ƒ์ธ ํ…Œ์ด๋ธ”์—์„œ ๊ณ ์œ ์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค.

 



๐Ÿ“Œ ์ธ๋ฑ์Šค ๋งŒ๋“ค๊ธฐ

 

โœ… ์ž๋™ : ํ…Œ์ด๋ธ” ์ •์˜์— PRIMARY KEY ๋˜๋Š” UNIQUE ์ œ์•ฝ ์กฐ๊ฑด์„ ์ •์˜ํ•˜๋ฉด ๊ณ ์œ  ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

โœ… ์ˆ˜๋™ : ์‚ฌ์šฉ์ž๊ฐ€ ์—ด์— ๊ณ ์œ ํ•˜์ง€ ์•Š์€ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ–‰์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

 
CREATE INDEX index_name
ON table_name (column_name[,column_name]...);

 


 

โœ… ์œ ์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค ์„ค์ • : UNIQUE INDEX

//์œ ์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค ์„ค์ • : UNIQUE INDEX
CREATE UNIQUE INDEX dname_idx
ON dept (dname);
 

 

โœ… ์œ ์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค ์„ค์ • : NON UNIQUE INDEX

//์œ ์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค ์„ค์ • : NON UNIQUE INDEX
//emp ํ…Œ์ด๋ธ”์˜ ename์—ด์— ๋Œ€ํ•œ ์งˆ์˜ ์•ก์„ธ์Šค ์†๋„ ํ–ฅ์ƒ

create index emp_ename_idx
on emp(ename);
----------------------------
CREATE INDEX deptno_idx
ON emp (deptno);

 

 
์ธ๋ฑ์Šค ์ƒ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„์•ผ ํ•  ๊ฒฝ์šฐ
์—ด์— ๊ด‘๋ฒ”์œ„ํ•œ ๊ฐ’์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ ํ…Œ์ด๋ธ”์ด ์ž‘์€ ๊ฒฝ์šฐ
์—ด์— ๋„ ๊ฐ’์ด ๋งŽ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ ์—ด์ด ์งˆ์˜์˜ ์กฐ๊ฑด์œผ๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
WHERE ์ ˆ ๋˜๋Š” ์กฐ์ธ ์กฐ๊ฑด์—์„œ
ํ•˜๋‚˜ ์ด์ƒ์˜ ์—ด์ด ํ•จ๊ป˜ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ
์ธ๋ฑ์Šคํ™”๋œ ์—ด์ด ํ‘œํ˜„์‹์˜ ์ผ๋ถ€๋กœ ์ฐธ์กฐ๋˜๋Š” ๊ฒฝ์šฐ
ํฐ ํ…Œ์ด๋ธ”์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ์งˆ์˜์— ์˜ํ•ด
๊ฒ€์ƒ‰๋˜๋Š” ํ–‰์ด 2%~4% ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ
๋Œ€๋ถ€๋ถ„์˜ ์งˆ์˜๊ฐ€ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ํ–‰์˜ 2%~4% ์ด์ƒ์„ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ
  ํ…Œ์ด๋ธ”์ด ์ž์ฃผ ๊ฐฑ์‹ ๋˜๋Š” ๊ฒฝ์šฐ

 


๐Ÿ“Œ ํ•จ์ˆ˜ ๊ธฐ๋ฐ˜ ์ธ๋ฑ์Šค

 

โœ… ํ•จ์ˆ˜ ๊ธฐ๋ฐ˜ ์ธ๋ฑ์Šค๋Š” ํ‘œํ˜„์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ธ๋ฑ์Šค

โœ… ์ธ๋ฑ์Šค ํ‘œํ˜„์‹์€ ํ…Œ์ด๋ธ” ์—ด, ์ƒ์ˆ˜, SQL ํ•จ์ˆ˜ ๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ํ•จ์ˆ˜๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋œ๋‹ค. 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€