์ž๋Š” ์”จ์•—
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • ๐Ÿฃ ๊ธฐ์ดˆ ๊ฐœ๋…
    • ๐Ÿ“Ž ์œ ํŠœ๋ธŒ
    • ๐Ÿ’พ ์กฐ๊ฐ๋ชจ์Œ
    • ๐Ÿ‘ฉ‍๐Ÿ’ป Error
    • โ„ React
    • ๐ŸฅPython
    • ๐Ÿ€ Spring
    • ๐Ÿฅž JS
    • ๐Ÿ‹ Docker
    • ๐Ÿงญ WSO2
    • ๐Ÿง Linux
    • ๐Ÿ”— SQL
    • ๐Ÿข C#
    • ๐Ÿ“‘ ์ฝ์„๊ฑฐ๋ฆฌ
    • ๐Ÿ‘€์งˆ๋ฌธ๋“ค
    • ๐Ÿ‘ฉ‍๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—…
      • Java ์ž๋ฐ”
      • Oracle ์˜ค๋ผํด
      • JDBC
      • HTML & CSS
      • JavaScript
      • JSP
      • Servlet
      • Spring
      • MyBatis
    • ๐Ÿ“• ๊ฐœ๋ฐœ ํ˜ผ๊ณต
      • ์ž๋ฐ”์˜ ์ •์„
      • ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ
hELLO ยท Designed By ์ •์ƒ์šฐ.
์ž๋Š” ์”จ์•—

๐ŸŒฑ

0201 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด index(unique non unique composite) ์ธ๋ฑ์Šค ์žฌ๊ตฌ์ถ• rebuild ์ธ๋ฑ์Šค ํžŒํŠธ index hint
๐Ÿ‘ฉ‍๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—…/Oracle ์˜ค๋ผํด

0201 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด index(unique non unique composite) ์ธ๋ฑ์Šค ์žฌ๊ตฌ์ถ• rebuild ์ธ๋ฑ์Šค ํžŒํŠธ index hint

2023. 2. 2. 00:32

*index

- ๋ ˆ์ฝ”๋“œ์˜ ์–‘์ด ๋งŽ์„ ๋•Œ ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด (CPU cost๊ฐ€ ์ค„์–ด๋“ ๋‹ค)

- ์ž๋™ ์ธ๋ฑ์Šค, ์ˆ˜๋™ ์ธ๋ฑ์Šค ์ œ๊ณต

  • ์ž๋™์ธ๋ฑ์Šค: ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ PK,UX์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ธ๋ฑ์Šค
                         unique ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™ ์ƒ์„ฑ
  • ์ˆ˜๋™์ธ๋ฑ์Šค: ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”์— ์˜ํ•ด์„œ ์ƒ์„ฑํ•˜๋Š” ์ธ๋ฑ์Šค(unique,non unique, bitmap,composite)

-๋ชจ๋“  ๊ณ„์ •์€ index๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

- user_indexes DD์—์„œ ๋งŒ๋“ค์–ด์ง„ ์ธ๋ฑ์Šค ํ™•์ธ ๊ฐ€๋Šฅ

-๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋Š” rowid(๋ ˆ์ฝ”๋“œ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ, ๊ฒน์น˜์ง€ ์•Š์Œ)๋ฅผ ๊ฐ€์ง

  AAAShCAAHAAAAKEAAA ( AAAShC ๋ฐ์ดํ„ฐ๊ฐ์ฒด๋ฒˆํ˜ธ AAH ํŒŒ์ผ๋ฒˆํ˜ธ AAAAKE ๋ธ”๋ก๋ฒˆํ˜ธ AAA ๋ ˆ์ฝ”๋“œ๋ฒˆํ˜ธ)
  DB๋Š” ๋‚ด์šฉ์— ์˜ํ•œ ์ฐธ์กฐ์ด์ง€๋งŒ (๊ฐ™์€ ๊ฐ’์„ ์‹๋ณ„ ์‹œ) ์ฃผ์†Œ์— ์˜ํ•œ ์ฐธ์กฐ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด rowid๋ฅผ ์จ์„œ ๊ด€๋ฆฌํ•จ

 

 

๋ฌธ๋ฒ•)

  • create [์ธ๋ฑ์Šค ์ข…๋ฅ˜] index ์ธ๋ฑ์Šค๋ช… on ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…,,,) ; //

 

- unique,non unique, bitmap์€ ํ•˜๋‚˜, composite์€ n๊ฐœ์˜ ์ปฌ๋Ÿผ์œผ๋กœ ์ธ๋ฑ์Šค๊ฐ€ ๊ตฌ์„ฑ๋จ

 

-์ธ๋ฑ์Šค๋กœ ์„ ์ •ํ•˜๋Š” ์ปฌ๋Ÿผ์˜ ๊ธฐ์ค€:

  •  where์ ˆ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ปฌ๋Ÿผ์ด ์ธ๋ฑ์Šค์— ๋ฐ˜์˜๋˜๋ฉด ์ข‹์Œ (์ฃผ๋กœ pk์ปฌ๋Ÿผ, ์™„์ „ํ•จ์ˆ˜ ์ข…์†)
  •  ์ž์ฃผ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ (์„ค๊ณ„์˜ ๋ถ€์žฌ๋กœ ๋ถ€๋ถ„ํ•จ์ˆ˜ ์ข…์† ์‹œ) 
  •  ์ฃผ์˜ : ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์กฐํšŒ๋ฅผ ํ•˜์ง€ ์•Š์Œ

-์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์—์„œ ๋„์ถœ๋œ ๊ฐ์ฒด์ด์ง€๋งŒ, ํ…Œ์ด๋ธ”๊ณผ๋Š” ๋ณ„๋„๋กœ ๋™์ž‘ํ•จ (cf.๋ทฐ๋Š” ๊ฐ™์ด ๋™์ž‘)

 ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ํ…Œ์ด๋ธ”๊ณผ ์ธ๋ฑ์Šค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ์˜ ์ฐจ์ด,๊ดด๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•จ > 

 ์ผ์ • ์ฃผ๊ธฐ๋กœ index๋ฅผ rebuilding ์žฌ๊ตฌ์ถ•ํ•ด์•ผ ํ•จ 

 

 

  • b-tree index๋ฅผ ์ƒ์„ฑ
rowid ์ปฌ๋Ÿผ๋ช…
์‹ค์ œ ๋ ˆ์ฝ”๋“œ ์œ„์น˜ 1
  2
  .
  .
  100

where ์ปฌ๋Ÿผ๋ช… = ๊ฐ’;

์ปฌ๋Ÿผ์˜ ๊ฐ’์„ ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ํ›‘๋Š” full scanํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•จ

>์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์ด 99๋ฒˆ์งธ์ผ ๋•Œ 99๋ฒˆ์งธ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰, 99๋ฒˆ ๋น„๊ตํ•ด์„œ ๊ฒฐ๊ณผ ๋‚˜์˜ด

 

 

  • ์ธ๋ฑ์Šค ์‚ฌ์šฉ

 ์ธ๋ฑ์Šค์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์„ฑ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ , ์‹ค์ œ ๋ ˆ์ฝ”๋“œ์˜ ์œ„์น˜๋กœ ๊ฐ€์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ์‹ค์ œ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•จ

  > ์ ์€ ํšŸ์ˆ˜๋กœ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Œ

 


*unique index

- ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์œ ์ผํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค

- ์ž๋™ ์ธ๋ฑ์Šค ์ค‘ ํ•˜๋‚˜

- ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ PK๋‚˜ Unique ์ œ์•ฝ์„ ์„ค์ €ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋จ

 

๋ฌธ๋ฒ•)

-์ธ๋ฑ์Šค ์ƒ์„ฑ

create unique index ์ธ๋ฑ์Šค๋ช… on ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…); // ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ค‘๋ณต์—†์ด ์œ ์ผํ•ด์•ผํ•จ, pk์ปฌ๋Ÿผ

 

-์ธ๋ฑ์Šค ์‚ญ์ œ

drop index ์ธ๋ฑ์Šค๋ช…;

 

-์ธ๋ฑ์Šค๊ฐ€ ์„ค์ •๋œ ์ปฌ๋Ÿผ์„ ๊ฒ€์ƒ‰ DD

 user_ind_columns


*non unique index

-์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ค‘๋ณต๋  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค (์ผ๋ฐ˜์ปฌ๋Ÿผ์— ์ฃผ๋กœ ์ ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค)

 

-๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์ธ๋ฑ์Šค

 

๋ฌธ๋ฒ•)

create index ์ธ๋ฑ์Šค๋ช… on ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…);


*bitmap

-์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ค‘๋ณต๋˜๋‚˜, ๋…ํŠนํ•œ ํ˜•ํƒœ์˜ ๊ฐ’์ผ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ธ๋ฑ์Šค (ex. ์ฝ”๋“œ๊ฐ’ ICD_0001)

-12c๋ถ€ํ„ฐ ์ƒ์„ฑ ์•ˆ๋จ

 

๋ฌธ๋ฒ•)

create bitmap index ์ธ๋ฑ์Šค๋ช… on ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…);

 


*composite index

-์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปฌ๋Ÿผ์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•  ๋•Œ

 

๋ฌธ๋ฒ•)

create index ์ธ๋ฑ์Šค๋ช… on ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…,,,);

 


*์ธ๋ฑ์Šค ์žฌ๊ตฌ์ถ•(๊ฐฑ์‹ )

-ํ…Œ์ด๋ธ”์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ์žฌ๊ตฌ์ถ•

 

๋ฌธ๋ฒ•)

alter index ์ธ๋ฑ์Šค๋ช… rebuild;

 


index hint :

-Oracle DBMS์—๊ฒŒ ์ง€์ •ํ•œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•˜๋„๋ก ์„ค์ •ํ•จ

-์กฐํšŒ ์ปฌ๋Ÿผ์— /*+  index(์ปฌ๋Ÿผ๋ช…) ์ธ๋ฑ์Šค๋ช…  */

 

index๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰ > H/W์˜ ์ž์›์„ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ 

  -index๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์€ ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•˜๋ฉด CPU Cost์™€ IO Cost ์ฆ๊ฐ€

  -index๊ฐ€ ์ ์šฉ๋œ ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•˜๋ฉด CPU Cost์™€ IO Cost ๊ฐ์†Œ

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ‘ฉโ€๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—… > Oracle ์˜ค๋ผํด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์˜ค๋ผํด CRUD  (0) 2023.02.02
0131 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด outer join self join ๋ฐฑ์—… ๋ณต์› ๊ณ„์ • synonym ๋™์˜์–ด view  (0) 2023.01.31
0130 sequence ํ…Œ์ด๋ธ” ์กฐํ•ฉ ๊ฒ€์ƒ‰(union join) ์ •๊ทœํ™”(1NF 2NF 3NF) ๋„๋ฉ”์ธ์˜ ์›์ž์„ฑ ๋ถ€๋ถ„ํ•จ์ˆ˜ ์ดํ–‰ํ•จ์ˆ˜ ์ข…์†์ œ๊ฑฐ drivingํ…Œ์ด๋ธ” inner join  (0) 2023.01.31
0127 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด ์™ธ๋ž˜ํ‚ค(foreign key) unique check์กฐ๊ฑด not null์กฐ๊ฑด default alter(ํ…Œ์ด๋ธ” ์ œ์•ฝ์‚ฌํ•ญ ๊ณ„์ • ๊ด€๋ฆฌ)  (0) 2023.01.29
0126 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด select ์„œ๋ธŒ์ฟผ๋ฆฌ scalar ์„œ๋ธŒ์ฟผ๋ฆฌ ๋ณต์ˆ˜ํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ rownum ์ œ์•ฝ์‚ฌํ•ญ constraint ๊ธฐ๋ณธํ‚ค primary key ERD  (0) 2023.01.27
    '๐Ÿ‘ฉ‍๐Ÿ’ป ๊ตญ๋น„ ์ˆ˜์—…/Oracle ์˜ค๋ผํด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ์˜ค๋ผํด CRUD
    • 0131 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด outer join self join ๋ฐฑ์—… ๋ณต์› ๊ณ„์ • synonym ๋™์˜์–ด view
    • 0130 sequence ํ…Œ์ด๋ธ” ์กฐํ•ฉ ๊ฒ€์ƒ‰(union join) ์ •๊ทœํ™”(1NF 2NF 3NF) ๋„๋ฉ”์ธ์˜ ์›์ž์„ฑ ๋ถ€๋ถ„ํ•จ์ˆ˜ ์ดํ–‰ํ•จ์ˆ˜ ์ข…์†์ œ๊ฑฐ drivingํ…Œ์ด๋ธ” inner join
    • 0127 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด ์™ธ๋ž˜ํ‚ค(foreign key) unique check์กฐ๊ฑด not null์กฐ๊ฑด default alter(ํ…Œ์ด๋ธ” ์ œ์•ฝ์‚ฌํ•ญ ๊ณ„์ • ๊ด€๋ฆฌ)

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”