À妽º ºÐ·ù

À妽º´Â Å×ÀÌºí¿¡ ÀÖ´Â ÇàÀ» Á÷Á¢ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â Æ®¸® ±¸Á¶·Î¼­ ³í¸®Àû ¼³°è ¶Ç´Â ¹°¸®Àû ±¸Çö¿¡ ±Ù°ÅÇÏ¿© ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù. ³í¸®Àû ºÐ·ù´Â À妽º¸¦ ÀÀ¿ë ÇÁ·Î±×·¥ °üÁ¡¿¡¼­ ³ª´« °ÍÀÌ°í ¹°¸®Àû ºÐ·ù´Â À妽º ÀúÀå ¹æ¹ý¿¡ µû¶ó ³ª´« °ÍÀÔ´Ï´Ù.

´ÜÀÏ ¿­ À妽º ¹× ¿¬°áµÈ À妽º

´ÜÀÏ ¿­ À妽º´Â ÇØ´ç À妽º Å°¿¡ ¿­ÀÌ Çϳª¸¸ Àִµ¥ ¿¹¸¦ µé¸é, »ç¿ø Å×À̺íÀÇ »ç¿ø ¹øÈ£ ¿­¿¡ ´ëÇÑ À妽º°¡ ¿©±â¿¡ ÇØ´çµË´Ï´Ù.

¿¬°áµÈ À妽º´Â Á¶ÇÕ À妽º¶ó°íµµ Çϸç Å×À̺íÀÇ ¿©·¯ ¿­¿¡ ´ëÇØ »ý¼ºµÇ´Â ÀÌ ¿­Àº Å×À̺íÀÇ ¿­°ú ¼ø¼­°¡ µ¿ÀÏÇϰųª ÀÎÁ¢ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î, »ç¿ø Å×À̺íÀÇ ºÎ¼­ ¿­°ú Á÷À§ ¿­¿¡ ´ëÇÑ À妽º°¡ ¿©±â¿¡ ÇØ´çµË´Ï´Ù.

Á¶ÇÕ Å° À妽ºÀÇ ÃÖ´ë ¿­ ¼ö´Â 32°³Áö¸¸ ¸ðµç ¿­À» ÇÕÄ£ Å©±â°¡ ÇØ´ç µ¥ÀÌÅÍ ºí·Ï Å©±âÀÇ 3ºÐÀÇ 1À» ³ÑÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù.

°íÀ¯ ¹× ºñ°íÀ¯ À妽º

°íÀ¯ À妽º´Â Å×À̺íÀÇ µÎ Çà °ªÀÌ À妽º Á¤ÀÇ ¿­¿¡¼­ Áߺ¹µÇÁö ¾Êµµ·Ï ÇϹǷΠ°íÀ¯ À妽ºÀÇ À妽º Å° Çϳª´Â Å×ÀÌºí¿¡¼­ ÇÑ ÇุÀ» °¡¸®Å³ ¼ö ÀÖ½À´Ï´Ù.

ºñ°íÀ¯ À妽º¿¡¼­´Â ´ÜÀÏ Å°°¡ ¿©·¯ Çà°ú ¿¬°üµÉ ¼ö ÀÖ½À´Ï´Ù.

ÇÔ¼ö ±â¹Ý À妽º

ÇÔ¼ö ±â¹Ý À妽º´Â À妽ºÈ­µÈ Å×À̺íÀÇ ¿­À» Çϳª ÀÌ»ó Æ÷ÇÔÇÏ´Â ÇÔ¼ö ¶Ç´Â Ç¥Çö½ÄÀ» »ç¿ëÇÒ ¶§ »ý¼ºµÇ¸ç ÇÔ¼ö ¶Ç´Â Ç¥Çö½ÄÀÇ °ªÀ» ¹Ì¸® °è»êÇÑ ´ÙÀ½ À妽º¿¡ ÀúÀåÇÕ´Ï´Ù. ÇÔ¼ö ±â¹Ý À妽º´Â B Æ®¸® À妽º ¶Ç´Â ºñÆ®¸Ê À妽º·Î »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºÐÇÒµÈ À妽º ¹× ºÐÇÒµÇÁö ¾ÊÀº À妽º

ºÐÇÒµÈ À妽º´Â Å« Å×ÀÌºí¿¡¼­ ÇϳªÀÇ À妽º¿¡ ÇØ´çÇÏ´Â À妽º Ç׸ñÀ» ¿©·¯ ¼¼±×¸ÕÆ®¿¡ ÀúÀåÇÏ´Â µ¥ »ç¿ëÇϸç ÀÌ·¸°Ô ºÐÇÒÇϸé ÇϳªÀÇ À妽º¸¦ ¿©·¯ Å×ÀÌºí½ºÆäÀ̽º¿¡ ºÐ»ê½ÃÄÑ À妽º Á¶È¸ °æÇÕÀ» ÁÙÀÌ°í °ü¸®¸¦ ¿ëÀÌÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. ºÐÇÒµÈ À妽º´Â ´ë°³ È®À强 ¹× °ü¸® ¿ëÀ̼ºÀ» Çâ»ó½ÃÅ°±â À§ÇØ ºÐÇÒµÈ Å×À̺í°ú ÇÔ²² »ç¿ëÇϴµ¥ °¢ Å×À̺íºÐÇÒ ¿µ¿ª¸¶´Ù Çϳª¾¿ À妽º ºÐÇÒ ¿µ¿ªÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ´Ü¿øÀº ºÐÇÒµÇÁö ¾ÊÀº B Æ®¸® À妽º ¹× ºñÆ®¸Ê À妽ºÀÇ »ý¼º ¹× À¯Áö °ü¸® ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

 

¸ðµç À妽º°¡ B-Æ®¸® ±¸Á¶¿¡ ¿¬°üµÇ¾î ÀÖµíÀÌ B-Æ®¸® À妽º´Â º¸Åë °¢ Å°¿¡ ´ëÇØ ROWID °ªµéÀ» ÀúÀåÇÏ´Â À妽º¿Í ¿¬°üµÇ¾î ÀÖ½À´Ï´Ù.

B-Æ®¸® À妽º ±¸Á¶
À妽º Á¦ÀÏ À§´Â root·Î À妽ºÀÇ ´ÙÀ½ ·¹º§À» °¡¸®Å°´Â ¿£Æ®¸®¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ´ÙÀ½ ·¹º§Àº branch ºí·ÏÀ¸·Î ¸¶Âù°¡Áö·Î ´ÙÀ½ ·¹º§ÀÇ À妽º ºí·ÏÀ» °¡¸®Åµ´Ï´Ù. ÃÖÇÏÃþ ·¹º§Àº leaf ³ëµå·Î Å×À̺íÀÇ ÇàÀ» °¡¸®Å°´Â À妽º ¿£Æ®¸®¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. leaf ºí·ÏÀº Å° °ªÀÇ ³»¸²Â÷¼øÀº ¹°·Ð ¿À¸§Â÷¼øÀÇ Å° °ªÀ¸·Î À妽º¸¦ °Ë»öÇϴµ¥ Æí¸®Çϵµ·Ï ¾ç¹æÇâ(doubling)À¸·Î ¿¬°á(link)µÇ¾î ÀÖ½À´Ï´Ù.

À妽º Leaf  ¿£Æ®¸®ÀÇ Çü½Ä
À妽º ¿£Æ®¸®´Â ´ÙÀ½ ¿ä¼Òµé·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
   -  ¿­ ¼ö¿Í Àá±Ý(locking) Á¤º¸¸¦ ÀúÀåÇÏ´Â ¿£Æ®¸® Çì´õ
   -  Å°ÀÇ ¿­ ±æÀÌ¿Í ¿­ °ªÀÌ Â÷·Ê·Î Á¤ÀÇµÈ ½Ö(pair)À¸·Î µÈ °ª(ÀÌµé ½ÖÀÇ °¹¼ö°¡ À妽º¿¡ µé¾î°¥ ¼ö ÀÖ´Â ¿­ ¼öÀÇ ÃÖ´ëÄ¡ÀÔ´Ï´Ù.)
   -  Å° °ªÀ» Æ÷ÇÔÇÏ´Â ÇàÀÇ ROWID

À妽º Leaf ¿£Æ®¸® Ư¼º
ºÐÇÒµÇÁö ¾ÊÀº Å×À̺íÀÇ  B-Æ®¸® À妽º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
     -   °°Àº Å° °ªÀ» °®´Â ÇàÀÌ ¿©·¯ °³ ÀÖÀ¸¸é Å° °ªÀÌ ¹Ýº¹µË´Ï´Ù.
     -   ¸ðµç Å° ¿­ÀÇ °ªÀÌ NULLÀÎ Çà¿¡ ´ëÀÀµÇ´Â À妽º ¿£Æ®¸®´Â ¾ø½À´Ï´Ù.
     -   ¸ðµç ÇàÀÌ °°Àº ¼¼±×¸ÕÆ®¿¡ ¼ÓÇϹǷΠÁ¦ÇÑµÈ ROWID°¡ Å×À̺íÀÇ ÇàÀ»  
     -   °¡¸®Å°´Âµ¥ »ç¿ëµË´Ï´Ù.

À妽º¿¡ÀÇ DML ÀÛ¾÷ÀÇ È¿°ú
¿À¶óŬ ¼­¹ö´Â Å×ÀÌºí¿¡ DML ÀÛ¾÷ÀÌ ¼öÇàµÉ ¶§ ¸ðµç À妽ºµµ À¯Áö º¸¼öÇÕ´Ï´Ù. À妽º¿¡ÀÇ DML ¸í·ÉÀÇ È¿°ú´Â ´ÙÀ½°ú °°½À´Ï´Ù.
  -    »ðÀÔ(insert) ÀÛ¾÷Àº ÀûÀýÇÑ ºí·Ï¿¡ À妽º ¿£Æ®¸®¸¦ »ðÀÔÇÕ´Ï´Ù.
  -    Çà »èÁ¦(delete)´Â À妽º ¿£Æ®¸®ÀÇ ³í¸®Àû »èÁ¦¸¸À» ÇÏ°Ô µË´Ï´Ù. »èÁ¦µÈ Çà¿¡  ÀÇÇØ »ç¿ëµÇ´Â °ø°£Àº ºí·Ï ³»ÀÇ ¸ðµç ¿£Æ®¸®°¡ »èÁ¦µÉ ¶§±îÁö »õ ¿£Æ®¸®¸¦
ÀúÀåÇϴµ¥ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
  -     Å° ¿­¿¡ ´ëÇÑ °»½Å(update)Àº À妽º¿¡ ³í¸®Àû »èÁ¦¿Í »ðÀÔÀ» ÇÏ°Ô µË´Ï´Ù.
  -  PCTFREE ¼³Á¤Àº »ý¼º½Ã¸¦ Á¦¿ÜÇϸé À妽º¿¡ ¾Æ¹«·± ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.   -  À妽º ºí·ÏÀÌ PCTFREE¿¡ ÀÇÇØ ÁöÁ¤µÈ °Íº¸´Ù ÀÛÀº °ø°£À» °¡Áö°í ÀÖ´õ¶óµµ  »õ ¿£Æ®¸®°¡ Ãß°¡µÉ ¼ö ÀÖ½À´Ï´Ù. 

 

º¸Åë B-Æ®¸® À妽º¿Í´Â ¹Ý´ë·Î Reverse Å° À妽º´Â ¿­ ¼ø¼­¸¦ µû¶ó À妽º°¡ ÁöÁ¤µÇ¾î(ROWID Á¦¿Ü) ÀÖ´Â °¢ ¿­ÀÇ ¹ÙÀÌÆ®¸¦ ¿ªÀ¸·Î µÚÁý½À´Ï´Ù. ½Ã½ºÅÛÀÌ »ý¼ºÇÑ °í¿ëÀÚ ¹øÈ£ °°Àº ¿À¸§Â÷¼ø Å°·Î ·¹Äڵ带 »ðÀÔÇÒ ¶§ À妽º Æ®¸®ÀÇ ÇÑ °÷¿¡ ¸ðµç À妽º °»½ÅÀÌ ¹ß»ýÇÏ°Ô µÇ¾î I/O º´¸ñ Çö»óÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. Reverse Å° À妽º´Â À妽º Å°ÀÇ µ¥ÀÌÅÍ °ªÀ» µÚÁý¾î ÁÖ¾î À妽º Æ®¸®¿¡ À妽º °»½Å ºÐÆ÷¸¦ ºÐ»ê½ÃÄÑ ÁÝ´Ï´Ù.
¿¹¸¦ µéÀÚ¸é Å×ÀÌºí¿¡ »ç¿ø ¹øÈ£ 7698¸¦ »ðÀÔÇϸé 8967ÀÇ Å° °ªÀÌ À妽º¿¡ ÀúÀåµË´Ï´Ù. ´ÙÀ½ »ç¿ø ¹øÈ£ 7782°¡ ÀԷµǸé À妽º ¿£Æ®¸®´Â 2877ÀÌ µÇ¾î ÀÛ¾÷ ºÎÇÏ(load)¸¦ ¿©·¯ °³ÀÇ À妽º ºí·ÏÀ¸·Î ºÐ»ê½ÃÄÑ ÁÝ´Ï´Ù.
ÀÌ·¯ÇÑ ¹è¿­Àº ¿À¶óŬ º´·Ä ¼­¹ö ȯ°æ¿¡¼­ À妽ºÀÇ ¼º´É ÀúÇϸ¦ ¸·´Âµ¥ ¸Å¿ì À¯¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Reverse Å° À妽º´Â µ¿µî ¼Ó¼º(equality predicate)À» °®´Â ÁúÀÇ¿¡ ´ëÇؼ­¸¸ À¯¿ëÇÕ´Ï´Ù. »çÀüÀû Àǹ̷δ ÀÎÁ¢ÇÑ Å°°¡ reverse Å° À妽º¿¡¼­´Â ¼­·Î ÀÎÁ¢ÇÏ¿© ÀúÀåµÇ´Â °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ÀÌ·¯ÇÑ À妽º¸¦ »ç¿ëÇÏ¿© ¹üÀ§ °Ë»ö(range search)À» ¼öÇàÇÒ ¼ö´Â ¾øÀ» °ÍÀÔ´Ï´Ù.

ÇÔ¼ö ±â¹Ý À妽º

ÇÔ¼ö ±â¹Ý À妽º´Â WHERE Àý¿¡ ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ´Â ¸í·É¹®À» È¿À²ÀûÀ¸·Î Æò°¡ÇÏ´Â ¹æ½ÄÀ» Á¦°øÇϸç À妽º¿¡ °è»ê ÁýÁß Ç¥Çö½ÄÀ» ±¸Ã¼È­Çϱâ À§ÇØ »ý¼ºÇÒ ¼ö ÀÖ¾î SELECT ¹® ¹× DELETE ¹®À» ó¸®ÇÒ ¶§ Oracle ¼­¹ö°¡ Ç¥Çö½Ä °ªÀ» °è»êÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ÇÏÁö¸¸ INSERT ¹® ¹× UPDATE ¹®À» ó¸®ÇÒ °æ¿ì¿¡´Â Oracle ¼­¹ö°¡ ¿©ÀüÈ÷ ÇÔ¼ö¸¦ Æò°¡ÇØ¾ß ÇÕ´Ï´Ù.

ÇÔ¼ö ±â¹Ý À妽º´Â B Æ®¸® ¶Ç´Â ºñÆ®¸Ê À妽º ±¸Á¶·Î »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.


ºñÆ®¸Ê À妽º´Â ´ÙÀ½°ú °°Àº °æ¿ì¿¡ B-Æ®¸® À妽ºº¸´Ù ´õ À¯¿ëÇÕ´Ï´Ù.
   -  Å×À̺íÀÌ ¸¹Àº ÇàÀ» °¡Áö¸ç Å° ¿­Àº ÀûÀº ºÐÆ÷µµ(cardinality)¸¦ °¡Áú ¶§, Áï ¿­ÀÌ °®´Â ¼­·Î ´Ù¸¥ °ªÀÌ ¸î °³ ¾È µÉ ¶§. ¿¹¸¦ µé¾î ¿©±Ç ±â·ÏÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â Å×À̺íÀÇ ¼ºº° ¿­À̳ª °áÈ¥ ¿©ºÎ ¿­ÀÇ °æ¿ì¿¡´Â B-Æ®¸® À妽ºº¸´Ù´Â ºñÆ®¸Ê À妽º°¡ ´õ À¯¸®ÇÒ °ÍÀÔ´Ï´Ù.
   -  ÁúÀǹ®ÀÌ OR ¿¬»êÀÚ¸¦ Æ÷ÇÔÇÏ´Â ¿©·¯ °³ÀÇ WHERE Á¶°ÇÀ» ÀÚÁÖ »ç¿ëÇÒ ¶§
   -  Å° ¿­ÀÌ Àбâ Àü¿ëÀ̰ųª °»½Å ÀÛ¾÷À» Àû°Ô ÇÒ ¶§

ºñÆ®¸Ê À妽ºÀÇ ±¸Á¶
ºñÆ®¸Êµµ B-Æ®¸®Ã³·³ Á¶Á÷µÇ¾î ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ leaf ³ëµå´Â ROWID °ª µé ´ë½Å °¢ Å° °ª¿¡ ´ëÇÑ ºñÆ®¸ÊÀ» ÀúÀåÇÕ´Ï´Ù. ºñÆ®¸ÊÀÇ °¢ ºñÆ®´Â °¡´ÉÇÑ ROWID¿¡ ´ëÀÀµÇ¸ç ºñÆ®°¡ 1ÀÌ µÇ¸é(set), ´ëÀÀµÇ´Â ROWID¸¦ °¡Áø ÇàÀÌ Å° °ªÀ» °¡Áø´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

 ±×¸²¿¡¼­Ã³·³ ºñÆ®¸Ê À妽ºÀÇ leaf ³ëµå´Â ´ÙÀ½À» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.
  -   ¿£Æ®¸® Çì´õ: ¿­ ¼ö¿Í Àá±Ý(lock) Á¤º¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.
  -   Å° °ª: °¢ Å° ¿­¿¡ ´ëÇØ ±æÀÌ¿Í °ªÀÌ ½Ö(value pair)À¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.(
        ¿¹¸¦ µé¾î Å°´Â ¿ÀÁ÷ ÇϳªÀÇ ¿­·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç ù¹ø° ¿£Æ®¸®´Â BlueÀÇ Å° °ªÀ» °¡Áý´Ï´Ù.)
  -  ½ÃÀÛ ROWID: ÀÌ ¿¹¿¡¼­´Â ÆÄÀÏ ¹øÈ£ 3, ºí·Ï ¹øÈ£ 10, ±×¸®°í Çà ¹øÈ£ 0À»
        Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.
  -  ³¡ ROWID: ÀÌ ¿¹¿¡¼­´Â ºí·Ï ¹øÈ£ 12, ±×¸®°í Çà ¹øÈ£ 8À» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.
  -   ºñÆ®¸Ê ¼¼±×¸ÕÆ®: ºñÆ®(bit)ÀÇ ¹®ÀÚ¿­À» °¡Áö°í ÀÖ½À´Ï´Ù.(´ëÀÀµÇ´Â ÇàÀÌ Å° °ªÀ» °¡Áú  ¶§ ºñÆ®°¡ 1ÀÌ µÇ°í ÇàÀÌ Å° °ªÀ» °®Áö ¾ÊÀ» ¶§ 0ÀÌ µË´Ï´Ù. ¿À¶óŬ ¼­¹ö´Â ºñÆ®¸Ê ¼¼±×¸ÕÆ®¸¦ ÀúÀåÇÒ ¶§ ƯÇã¹ÞÀº ¾ÐÃà ±â¼úÀ» »ç¿ëÇÕ´Ï´Ù.)

½ÃÀÛ ROWID´Â ºñÆ®¸ÊÀÇ ºñÆ®¸Ê ¼¼±×¸ÕÆ®°¡ °¡¸®Å°°í Àִ ù¹ø° ÇàÀÇ ROWIDÀÔ´Ï´Ù. Áï, ºñÆ®¸ÊÀÇ Ã¹¹ø° ºñÆ®´Â ±× ROWID¿¡ ´ëÀÀµÇ¸ç µÎ¹ø° ºñÆ®´Â ºí·ÏÀÇ ´ÙÀ½ Çà¿¡ ´ëÀÀµË´Ï´Ù. ³¡ ROWID´Â ºñÆ®¸Ê ¼¼±×¸ÕÆ®°¡ ´ã´çÇÏ´Â Å×À̺íÀÇ ¸¶Áö¸· ÇàÀ» °¡¸®Åµ´Ï´Ù. ºñÆ®¸Ê À妽º´Â Á¦ÇÑµÈ ROWID¸¦ »ç¿ëÇÕ´Ï´Ù.

ºñÆ®¸Ê À妽º »ç¿ë
B-Æ®¸®¸¦ »ç¿ëÇÏ¿© ÁÖ¾îÁø Å° °ªÀ» °®´Â ºñÆ®¸Ê ¼¼±×¸ÕÆ®¸¦ Æ÷ÇÔÇÏ´Â leaf ³ëµåÀÇ À§Ä¡¸¦ ã½À´Ï´Ù. ½ÃÀÛ ROWID¿Í ºñÆ®¸Ê ¼¼±×¸ÕÆ®´Â Å° °ªÀ» °¡Áø ÇàÀÇ À§Ä¡¸¦ ã´Âµ¥ »ç¿ëµË´Ï´Ù.
Å×À̺íÀÇ Å° ¿­ÀÌ º¯°æµÇ¸é ºñÆ®¸ÊÀÌ ¼öÁ¤µÇ¾î¾ß Çϸç, ÀÌ °á°ú °ü·ÃµÈ ºñÆ®¸Ê ¼¼±×¸ÕÆ®°¡ Àá±â°Ô(locking) µË´Ï´Ù. ÀÌ ¶§ ¸ðµç ºñÆ®¸Ê ¼¼±×¸ÕÆ®°¡ Àá±â°Ô µÇ¹Ç·Î ÀÌ ºñÆ®¸ÊÀÌ ´ã´çÇÏ´Â ÇàÀº ù¹ø° Æ®·£Àè¼ÇÀÌ ³¡³¯ ¶§±îÁö ´Ù¸¥ Æ®·£Àè¼ÇÀÌ °»½ÅÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.

 


½½¶óÀ̵åÀÇ Ç¥´Â B-Æ®¸® À妽º¿Í ºñÆ®¸Ê À妽º¸¦ ºñ±³ÇÑ °ÍÀÔ´Ï´Ù.
ºñÆ®¸Ê À妽º´Â ÀûÀº ºÐÆ÷µµ¸¦ °®´Â ¿­¿¡ »ç¿ëµÉ ¶§ B-Æ®¸® À妽ºº¸´Ù °£°áÇÕ´Ï´Ù.
ºñÆ®¸ÊÀº ºñÆ®¸Ê ¼¼±×¸ÕÆ® ·¹º§ÀÇ Àá±Ý(locking)À» »ç¿ëÇϹǷΠºñÆ®¸Ê À妽º¿¡¼­ Å° ¿­À» °»½ÅÇÏ´Â ºñ¿ëÀÌ ¸Å¿ì Å®´Ï´Ù. ¹Ý¸é B-Æ®¸® À妽º¿¡¼­´Â Àá±ÝÀÌ Å×À̺íÀÇ °¢ Çà¿¡ ´ëÀÀµÇ´Â ¿£Æ®¸®¿¡ °É¸³´Ï´Ù.
ºñÆ®¸Ê À妽º´Â Bitmap OR µîÀÇ ÀÛ¾÷À» ¼öÇàÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. Áï, ¿À¶óŬ ¼­¹ö´Â µÎ °³ÀÇ ºñÆ®¸Ê ¼¼±×¸ÕÆ®¸¦ »ç¿ëÇÏ¿© ºñÆ® ¹æ½Ä OR¸¦ ¼öÇàÇÏ¿© °á°ú ºñÆ®¸ÊÀ» ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹æ½ÄÀº ORÀ» »ç¿ëÇÏ´Â ÁúÀǹ®¿¡¼­ ºñÆ®¸ÊÀ» È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.
¿ä¾àÇÏÀÚ¸é B-Æ®¸® À妽º´Â µ¿Àû Å×À̺íÀ» À妽ºÇÏ´Â OLTP ȯ°æ¿¡ ´õ ÀûÇÕÇÕ´Ï´Ù. ¹Ý¸é ºñÆ®¸Ê À妽º´Â Å©°í Á¤ÀûÀÎ Å×ÀÌºí¿¡ º¹ÀâÇÑ ÁúÀǹ®ÀÌ »ç¿ëµÇ´Â DSS ȯ°æ¿¡ À¯¿ëÇÕ´Ï´Ù.


À妽º´Â Å×À̺íÀ» ¼ÒÀ¯ÇÏ°í ÀÖ´Â »ç¿ëÀÚ °èÁ¤¿¡¼­ »ý¼ºÇÒ ¼öµµ ÀÖ°í ´Ù¸¥ °èÁ¤¿¡¼­ »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ Å×À̺í°ú °°Àº °èÁ¤¿¡¼­ »ý¼ºÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÔ´Ï´Ù.

±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© B-Æ®¸® À妽º¸¦ »ý¼ºÇϽʽÿÀ.
   CREATE [ UNIQUE ] INDEX [schema.]index
   ON [schema.]table
   (column [ ASC | DESC ] [ , column [ASC | DESC ] ] . . .)
   [ TABLESPACE tablespace ]
     [ PCTFREE integer ]
     [ INITRANS integer ]
     [ MAXTRANS integer ]
     [ storage-clause ]
     [ LOGGING | NOLOGGING ]
     [ NOSORT ]

 ±¸¹®¿¡¼­:
UNIQUE            uniqueÀ妽º¸¦ ÁöÁ¤Çϴµ¥ »ç¿ëÇÕ´Ï´Ù.(NONUNIQUE°¡
                        ±âº»°ªÀÔ´Ï´Ù.)
schema            À妽º/Å×À̺íÀÇ ¼ÒÀ¯ÀÚÀÔ´Ï´Ù.
index                À妽º À̸§ÀÔ´Ï´Ù.
table                 Å×À̺í À̸§ÀÔ´Ï´Ù.
column             ¿­ À̸§ÀÔ´Ï´Ù.
ASC/DESC        ´Ù¸¥ µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ±¸¹® ȣȯ¼ºÀ» À§ÇØ Á¦°øµË´Ï´Ù.
TABLESPAC     À妽º°¡ »ý¼ºµÉ Å×ÀÌºí½ºÆäÀ̽º¸¦ ³ªÅ¸³À´Ï´Ù.
PCTFREE          »ý¼º½Ã »õ À妽º ¿£Æ®¸®¸¦ ¼ö¿ëÇϱâ À§ÇØ °¢ ºí·Ï¿¡ ¿¹¾àµÈ                         °ø°£ÀÇ ÃÑ·®ÀÔ´Ï´Ù.(ÃÑ °ø°£¿¡¼­ ºí·Ï Çì´õ¸¦ »« °ÍÀ» ¹éºÐÀ²·Î)
INITRANS         °¢ ºí·Ï¿¡ ¹Ì¸® ÇÒ´çµÈ Æ®·£Àè¼Ç ¿£Æ®¸®ÀÇ ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
                       (±âº»°ªÀº ÃÖ¼Ò°ªÀÎ 2 ÀÔ´Ï´Ù.)
MAXTRANS      °¢ ºí·Ï¿¡ ÇÒ´çµÉ ¼ö ÀÖ´Â Æ®·£Àè¼Ç ¿£Æ®¸®ÀÇ ¼ö¸¦ Á¦ÇÑÇÕ´Ï´Ù.
                       (±âº»°ªÀº 255 ÀÔ´Ï´Ù.)
STORAGE        ÀͽºÅÙÆ®°¡ À妽º¿¡ ÇÒ´çµÇ´Â ¹æ¹ýÀ» °áÁ¤ÇÏ´Â ½ºÅ丮Áö ÀýÀ»                         ³ªÅ¸³À´Ï´Ù.
LOGGING         À妽ºÀÇ »ý¼º°ú ÀÌÈÄÀÇ À妽º¿¡ ´ëÇÑ ÀÛ¾÷ÀÌ ¸®µÎ ·Î±× ÆÄÀÏ¿¡                        ±â·ÏµÇµµ·Ï ¸í½ÃÇÕ´Ï´Ù.(±âº»°ªÀÔ´Ï´Ù.)
NOLOGGING     À妽º »ý¼º°ú ƯÁ¤ À¯ÇüÀÇ µ¥ÀÌÅÍ ·Îµå°¡ ¸®µÎ ·Î±× ÆÄÀÏ¿¡                         ±â·ÏµÇÁö ¾Êµµ·Ï ¸í½ÃÇÕ´Ï´Ù.
NOSORT          ÇàÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ¿À¸§Â÷¼øÀ¸·Î ÀúÀåµÇ¾î ÀÖÀ½À» ¸í½ÃÇÕ´Ï´Ù.                         ÀÌ °æ¿ì ¿À¶óŬ ¼­¹ö´Â »ý¼º½Ã ÇàÀ» Á¤·ÄÇÏÁö ¾Ê½À´Ï´Ù

ÁÖ
  -   Å×ÀÌºí½ºÆäÀ̽º¿¡ MINIMUM EXTENT°¡ Á¤ÀǵǾî ÀÖ´Ù¸é À妽º¿¡ ´ëÇÑ
      ÀͽºÅÙÆ® Å©±â´Â ´ÙÀ½À¸·Î Å« MINIMUM EXTENT °ªÀÇ Á¤¼ö¹è·Î ¹Ý¿Ã¸²µÉ
      °ÍÀÔ´Ï´Ù.
  -  [NO]LOGGING ÀýÀÌ »ý·«µÇ¸é À妽ºÀÇ ±â·Ï(logging) ¼Ó¼ºÀº À妽º°¡
      »óÁÖÇÏ°í ÀÖ´Â Å×ÀÌºí½ºÆäÀ̽ºÀÇ ±â·Ï ¼Ó¼ºÀ» µû¸£°Ô µË´Ï´Ù.
  -   À妽º¿¡´Â PCTUSED°¡ ÁöÁ¤µÉ ¼ö ¾ø½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ¿£Æ®¸®°¡ ¿Ã¹Ù¸¥
      ¼ø¼­´ë·Î ÀúÀåµÇ¾î ÀÖ¾î¾ß¸¸ Çϱ⠶§¹®¿¡ »ç¿ëÀÚ´Â À妽º ºí·ÏÀÌ »ðÀÔ¿¡ »ç       ¿ëµÉ ¶§ Á¦¾îÇÒ ¼ö ¾ø½À´Ï´Ù.
  -   µ¥ÀÌÅÍ°¡ Å°¿¡ ´ëÇØ Á¤·ÄµÇÁö ¾ÊÀº »óÅ¿¡¼­ NOSORT Å°¿öµå¸¦ »ç¿ëÇÏ¸é       ¸í ·É¹®Àº ¿¡·¯¸¦ Ãâ·ÂÇÏ°í Á¾·áÇÏ°Ô µË´Ï´Ù.  
  -  ¿À¶óŬ ¼­¹ö´Â °¡´ÉÇÏ´Ù¸é ±âÁ¸ À妽º¸¦ »ç¿ëÇÏ¿© »õ À妽º¸¦ »ý¼ºÇÕ´Ï´Ù.
  -   ÀÌ·¯ÇÑ ÀÏÀº »õ À妽º¿¡ ´ëÇÑ Å°°¡ ±âÁ¸ À妽ºÀÇ Å°ÀÇ ÁÖ¿ä ºÎºÐ¿¡ ´ëÀÀÇÒ        ¶§ ¹ß»ýÇÕ´Ï´Ù.

OEM
 1  Oracle Schema Manager¸¦ »ç¿ë ÇϽʽÿÀ.
 2  Object->Create¸¦ ¼±ÅÃÇϽʽÿÀ.
 3  ³ª¿­µÈ °ªµé Áß¿¡¼­ Index¸¦ ¼±ÅÃÇÏ°í OK¸¦ Ŭ¸¯ ÇϽʽÿÀ.
 4  Property sheet¿¡¼­ General, Storage, ±×¸®°í Option Á¤º¸¸¦ ÀÔ·Â ÇϽʽÿÀ.
 5  Create¸¦ Ŭ¸¯ ÇϽʽÿÀ
¶Ç´Â ³»ºñ°ÔÀÌÅÍ¿¡¼­ ±âÁ¸ À妽º¸¦ ¼±ÅÃÇÑ ÈÄ Object->Create Like¸¦ »ç¿ëÇÏ¿© ±âÁ¸ À妽º¿Í À¯»çÇÑ ¼ºÁúÀ» °®´Â »õ À妽º¸¦ »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Oracle Schema Manager¸¦ »ç¿ëÇÒ ¶§ Ãʱâ Å©±â(volume), ¼ºÀå·ü(growth rate), Å×ÀÌºí¿¡ ´ëÇÑ »ðÀÔ ÀÛ¾÷, ±×¸®°í ÇàÀÌ »ðÀÔµÈ ¼ø¼­¿¡ ±âÃÊÇÏ¿© ½ºÅ丮Áö ÆĶó¹ÌÅÍ¿Í °ø°£ È°¿ë ÆĶó¹ÌÅ͸¦ ÀÚµ¿À¸·Î Á¤ÀÇÇϵµ·Ï ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

 

À妽º¸¦ »ý¼ºÇÒ ¶§ ´ÙÀ½À» °í·ÁÇϽʽÿÀ.
 -  À妽º´Â ÁúÀǹ®ÀÇ ¼º´ÉÀ» Çâ»ó ½ÃÄÑÁÖ°í DML ÀÛ¾÷À» ´À¸®°Ô ÇÕ´Ï´Ù. ÀÚÁÖ º¯ÇÏ´Â Å×ÀÌºí¿¡   ÇÊ¿äÇÑ À妽º ¼ýÀÚ´Â Ç×»ó ÃÖ¼ÒÈ­ ÇϽʽÿÀ.
 -  À妽º¸¦ ·Ñ¹é ¼¼±×¸ÕÆ®, Àӽà ¼¼±×¸ÕÆ®, ±×¸®°í Å×À̺í°ú´Â º°µµÀÇ Å×ÀÌºí½ºÆäÀ̽º¿¡  À§Ä¡½ÃÅ°½Ê½Ã¿À.
 -  ´ÜÆíÈ­¸¦ ÃÖ¼ÒÈ­ÇÏ·Á¸é 5*DB_BLOCK_SIZEÀÇ Á¤¼ö¹èÀΠǥÁØ ÀͽºÅÙÆ® Å©±â¸¦ »ç¿ëÇϽʽÿÀ.
 -  ¸®µÎ »ý¼ºÀ» ÇÇÇÔÀ¸·Î½á Å« À妽º¿¡ ´ëÇØ ÇöÀúÇÑ ¼º´É Çâ»óÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù.
 -  Å« À妽º¸¦ »ý¼ºÇÒ ¶§´Â NOLOGGING ÀýÀ» »ç¿ëÇÏ´Â °ÍÀ» °í·ÁÇØ º¸½Ê½Ã¿À.
 -  À妽º ¿£Æ®¸®´Â ±×µéÀÌ À妽ºÇÏ´Â Çà¿¡ ºñ±³ÇØ º¼ ¶§ À۱⠶§¹®¿¡ À妽º ºí·ÏÀÌ ºí·Ï´ç ´õ  ¸¹Àº ¿£Æ®¸®¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ÀÌÀ¯·Î INITRANS´Â ÀϹÝÀûÀ¸·Î ´ëÀÀµÇ´Â Å×ÀÌºí  ¿¡¼­º¸´Ù´Â À妽º¿¡¼­ ´õ Ä¿¾ß ÇÕ´Ï´Ù. 

 


À妽º¿Í PCTFREE
À妽º¿¡ ´ëÇÑ PCTFREE´Â Å×ÀÌºí¿¡ ´ëÇÑ PCTFREE¿Í´Â ´Þ¶ó¼­ µ¿ÀÏ À妽º ºí·Ï¿¡ »ðÀԵǾî¾ß ÇÒ À妽º ¿£Æ®¸®¿¡ ´ëºñÇÑ °ø°£À» ¿¹ºñÇØ µÎµµ·Ï À妽º »ý¼º½Ã¿¡¸¸ »ç¿ëµË´Ï´Ù. À妽º ¿£Æ®¸®´Â °»½ÅµÇÁö ¾Ê½À´Ï´Ù. Å° ¿­ÀÌ °»½ÅµÉ ¶§´Â À妽º ¿£Æ®¸®°¡ ³í¸®ÀûÀ¸·Î »èÁ¦µÈ ÈÄ »ðÀԵ˴ϴÙ.

½Ã½ºÅÛ »ý¼º ¼ÛÀå ¹øÈ£(system-generated invoice number)°°ÀÌ Â÷·Ê´ë·Î Áõ°¡ÇÏ´Â ¿­¿¡ ´ëÇÑ À妽º¿¡´Â PCTFREE¸¦ ³·°Ô ÀâÀ¸½Ê½Ã¿À. ÀÌ °æ¿ì »õ À妽º ¿£Æ®¸®´Â Ç×»ó ±âÁ¸ ¿£Æ®¸®¿¡ Ãß°¡µÇ¸ç ±âÁ¸ÀÇ µÎ À妽º ¿£Æ®¸® °£¿¡ »õ ¿£Æ®¸®¸¦ »ðÀÔÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

»ðÀ﵃ ÇàÀÇ À妽º ¿­ °ªÀÌ ¾î¶² °ªÀÌ¶óµµ °¡Áú ¼ö ÀÖ´Ù¸é, Áï ÇöÀç °¡Áö°í ÀÖ´Â °ªÀÇ ¹üÀ§ ³»ÀÇ ¾î´À °ªÀÌ¶óµµ °¡Áú ¼ö ÀÖ´Ù¸é ³ôÀº °ªÀÇ PCTFREE¸¦ Á¦°øÇؾ߸¸ ÇÕ´Ï´Ù. ³ôÀº PCTFREE °ªÀ» ¿ä±¸ÇÏ´Â À妽ºÀÇ ÇÑ ¿¹´Â ¼ÛÀå Å×À̺íÀÇ ¼ÒºñÀÚ ÄÚµå ¿­¿¡ ´ëÇÑ À妽ºÀÔ´Ï´Ù. ÀÌ °æ¿ì ´ÙÀ½ ½ÄÀÌ °¡¸®Å°´Â ´ë·Î PCTFREE °ªÀ» ÁöÁ¤ÇÏ´Â °ÍÀÌ À¯¸®ÇÕ´Ï´Ù.

                          ÃÖ´ë ÇàÀÇ °¹¼ö - Ãʱâ ÇàÀÇ °¹¼ö
         --------------------------------------------------- *100
                                      ÃÖ´ë ÇàÀÇ °¹¼ö

ÃÖ´ë °ªÀº Àϳ⠰°Àº ƯÁ¤ ±â°£¿¡ ¸ÂÃá °ªÀÏ ¼ö ÀÖ½À´Ï´Ù. 

 


µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä DBA_INDEXES¿Í DBA_IND_COLUMNSÀº À妽º¿Í À妽ºµÈ ¿­¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

À妽º¿Í ±× À¯È¿¼º °Ë»ç
´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ SCOTTÀÌ ¼ÒÀ¯ÇÑ À妽ºÀÇ À̸§, À¯Çü, ±×¸®°í »óŸ¦ È®ÀÎÇϽʽÿÀ.
SVRMGR> SELECT index_name, tablespace_name, index_type,
             2> uniqueness, status
             3> FROM dba_indexes
             4> WHERE owner=¡®SCOTT¡¯;
INDEX_NAME        TABLESPACE_NAME INDEX_TYPE UNIQUENESS  STATUS
---------------   --------------- ---------- ---------   ------
EMP_LNAME_IDX     INDX01          NORMAL     NONUNIQUE   VALID
ORD_ORD_NO_IDX    INDX01          NORMAL     UNIQUE      VALID
ORD_REGION_ID_IDX INDX02          BITMAP     NONUNIQUE   VALID
3 rows selected.

INDEX_TYPE ¿­Àº À妽º°¡ ºñÆ®¸ÊÀÎÁö º¸Åë À妽ºÀÎÁö¸¦ °¡¸®Åµ´Ï´Ù. ¸ðµç reverse Å° À妽ºÀÇ À̸§À» º¸°íÀÚ ÇÒ ¶§´Â ´ÙÀ½ ÁúÀǹ®À» »ç¿ëÇϽʽÿÀ.
        SVRMGR> SELECT o.object_name
                2> FROM dba_objects o
                3> WHERE owner=¡®SCOTT¡¯
                4> AND o.object_id IN (SELECT I.obj#
                5>                  FROM ind$ I
                6>                  WHERE BITAND (I.property, 4) = 4);
        OBJECT_NAME
        -----------------------
        ORD_ORD_NO_IDX
        1 row selected.

À妽º°¡ Á¤ÀÇµÈ ¿­ ã±â
´ÙÀ½ ÁúÀǹ®Àº »ç¿ëÀÚ SCOTTÀÌ ¼ÒÀ¯ÇÑ À妽º ÀüºÎ¸¦ º¸¿©ÁÖ¸ç À妽º°¡ ±¸ÃàµÈ Å×À̺í°ú ¿­À» º¸¿© ÁÝ´Ï´Ù.
        SVRMGR> SELECT index_name, table_owner, table_name, column_name
                2> FROM dba_ind_columns
                3> WHERE index_owner = ¡®SCOTT¡¯
                4> ORDER BY index_name, column_position;
        INDEX_NAME          TABLE_OWNER   TABLE_NAME   COLUMN_NAME
        ------------------- ------------- ------------ -----------
        EMP_LNAME_IDX       SCOTT         EMP          LAST_NAME
        ORD_ORD_NO_IDX      SCOTT         ORD          ORD_NO
        ORD_REGION_ID_IDX   SCOTT         ORD          REGION_ID
        3 rows selected. 

 

±¸¹®
Reverse Å° À妽º¸¦ »ý¼ºÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
  CREATE [ UNIQUE ] INDEX [schema.]index
  ON [schema.]table
  (column [ ASC | DESC ] [ , column [ASC | DESC] ] . . .)
  [ TABLESPACE tablespace ]
     [ PCTFREE integer ]
     [ INITRANS integer ]
     [ MAXTRANS integer ]
     [ storage-clause ]
     [ LOGGING | NOLOGGING ]
      REVERSE
Reverse Å° À妽º »ý¼ºÀ» À§ÇÑ ¸í·ÉÀº REVERSE Å°¿öµå°¡ »ç¿ëµÈ´Ù´Â Á¡À» Á¦¿ÜÇϸé Á¤±Ô À妽º¸¦ »ý¼ºÇÏ´Â ¸í·É°ú ºñ½ÁÇÕ´Ï´Ù. Reverse Å° À妽º¿¡´Â NOSORT Å°¿öµå°¡ »ç¿ëµÉ ¼ö ¾ø´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ


±¸¹®
ºñÆ®¸Ê À妽º¸¦ »ý¼ºÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
 CREATE BITMAP INDEX [schema.]index
 ON [schema.]table
 (column [ ASC | DESC ] [ , column [ASC | DESC ] ] . . .]
 [ TABLESPACE tablespace ]
      [ PCTFREE integer ]
      [ INITRANS integer ]
      [ MAXTRANS integer ]
      [ storage-clause ]
      [ LOGGING | NOLOGGING ]
      [ NOSORT ]
ºñÆ®¸Ê À妽º´Â unique À妽º°¡ µÉ ¼ö ¾øÀ½À» ¸í½ÉÇϽʽÿÀ.

CREATE_BITMAP_AREA_SIZE
ÃʱâÈ­ ÆĶó¹ÌÅÍ CREATE_BITMAP_AREA_SIZE´Â ¸Þ¸ð¸® ³»¿¡ ºñÆ®¸Ê ¼¼±×¸ÕÆ®¸¦ ÀúÀåÇϱâ À§ÇØ »ç¿ëµÉ °ø°£ÀÇ ÃÑ·®À» °áÁ¤ÇÕ´Ï´Ù. ±âº» °ªÀº 8 MBÀÔ´Ï´Ù. ÀÌ °ªÀ» Å©°Ô ÇÏ¸é ´õ »¡¸® À妽º¸¦ »ý¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ºÐÆ÷µµ°¡ ¸Å¿ì ÀÛ´Ù¸é ÀÛÀº °ªÀ¸·Î ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ºÐÆ÷µµ(cardinality)°¡ 2¶ó¸é ÆĶó¹ÌÅÍ °ªÀº ¸Þ°¡¹ÙÀÌÆ® ´ÜÀ§ º¸´Ù´Â ų·Î¹ÙÀÌÆ® ´ÜÀ§°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀÎ ±ÔÄ¢ ´ë·Î ºÐÆ÷µµ°¡ Ä¿Áú¼ö·Ï ÃÖÀûÈ­µÈ ¼º´ÉÀ» À§Çؼ­´Â ´õ ¸¹Àº ¸Þ¸ð¸®°¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.

OEM
1       Oracle Schema Manager¸¦ »ç¿ë ÇϽʽÿÀ.
2       Object->Create¸¦ »ç¿ë ÇϽʽÿÀ.
3       ³ª¿­µÈ °ª Áß¿¡¼­ Index¸¦ ¼±ÅÃÇÏ°í OK¸¦ Ŭ¸¯ ÇϽʽÿÀ.
4       Property sheet¿¡ General, Storage, ±×¸®°í Options Á¤º¸¸¦ ÀÔ·ÂÇÏ°í General  
        ÆäÀÌÁö¿¡ Bitmap ¿É¼ÇÀÌ ¼±ÅõǾú´ÂÁö È®ÀÎ ÇϽʽÿÀ.
5       Create¸¦ Ŭ¸¯ ÇϽʽÿÀ. 

 

½ºÅ丮Áö ÆĶó¹ÌÅÍ¿Í °ø°£ È°¿ë ÆĶó¹ÌÅÍ ÀϺδ ALTER INDEX ¸í·ÉÀ» »ç¿ëÇÏ¿© ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
 ±¸¹®
   ALTER INDEX [schema.]index
   [ storage-clause ]
   [ INITRANS integer ]
   [ MAXTRANS integer ]
À妽º¿¡ ´ëÇÑ ½ºÅ丮Áö ÆĶó¹ÌÅÍÀÇ º¯°æÀÇ Àǹ̴ Å×ÀÌºí¿¡ ´ëÇÑ ÀÌ ÆĶó¹ÌÅ͵éÀÌ º¯°æµÇ´Â °Í°ú ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î À妽º¿¡ ´ëÇÑ º¯°æÀºMAXEXTENTS¸¦ Áõ°¡½ÃÅ°´Â °ÍÀÔ´Ï´Ù.
°ø°£ È°¿ë ÆĶó¹ÌÅÍ´Â À妽º ºí·Ï¿¡ ´ëÇÑ ³ôÀº ¼öÁØÀÇ µ¿½Ã¼ºÀ» º¸ÀåÇϱâ À§ÇØ º¯°æµÉ ¼öµµ ÀÖ½À´Ï´Ù.

 OEM
1      Oracle Schema Manager¸¦ »ç¿ë ÇϽʽÿÀ.
2      Index ³ëµå¸¦ È®Àå ÇϽʽÿÀ.
3      »ç¿ëÀÚ À̸§(¶Ç´Â ½ºÅ°¸¶)À» È®Àå ÇϽʽÿÀ.
4      À妽º¸¦ ¼±Åà ÇϽʽÿÀ.
5      Property sheetÀÇ Storage tabÀÇ °ªÀ» ¼öÁ¤ ÇϽʽÿÀ. ÀͽºÅÙÆ®ÀÇ ÃÖ¼Ò°ªÀº         ÀÌ ¹æ¹ýÀ¸·Î  º¯°æµÉ ¼ö ¾ø´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ.
6      Apply¸¦ Ŭ¸¯ ÇϽʽÿÀ.

 

 À妽º¿¡ ´ëÇÑ ¼öµ¿ °ø°£ ÇÒ´ç
Å×ÀÌºí¿¡ ¸¹Àº »ðÀÔ ÀÛ¾÷À» Çϱâ Àü¿¡ À妽º¿¡ ÀͽºÅÙÆ®¸¦ Ãß°¡ÇÏ¿©¾ß ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀͽºÅÙÆ®¸¦ ¹Ì¸® Ãß°¡ÇÏ¸é ¼öÇàÁßÀÇ À妽ºÀÇ µ¿Àû È®Àå°ú ±×·Î ÀÎÇÑ ¼º´É ÀúÇϸ¦ ¸·¾Æ ÁÝ´Ï´Ù.

À妽º·ÎºÎÅÍÀÇ ¼öµ¿ °ø°£ ÇØÁ¦

À妽ºÀÇ high water mark ÀÌ»óÀÇ »ç¿ëµÇÁö ¾Ê´Â °ø°£À» ÇØÁ¦ÇÏ·Á¸é ALTER INDEX ¸í·ÉÀÇ DEALLOCATE ÀýÀ» »ç¿ëÇϽʽÿÀ.
±¸¹®
À妽º °ø°£À» ÇÒ´çÇϰųª ÇØÁ¦ÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
  ALTER INDEX [schema.]index
  {ALLOCATE EXTENT ([SIZE integer [K|M] ]
              [ DATAFILE ¡®filename¡¯ ])
  | DEALLOCATE UNUSED [ KEEP integer [ K|M ] ] }
À妽º¿¡ ¼öµ¿À¸·Î °ø°£À» ÇÒ´çÇϰųª ÇØÁ¦ÇÏ´Â °ÍÀº Å×ÀÌºí¿¡ ´ëÇØ ÀÌ·¯ÇÑ ¸í·ÉÀ» »ç¿ëÇÒ ¶§¿Í °°½À´Ï´Ù.

ÁÖ
À妽º °ø°£Àº À妽º°¡ ±¸ÃàµÈ Å×À̺íÀÌ Àß·ÁÁú(truncate) ¶§ ÇØÁ¦µË´Ï´Ù. Å×À̺íÀ» À߶ó ¹ö¸®¸é °ü·Ã À妽ºµµ Àß·Á Áý´Ï´Ù.

 

À妽º À籸Ãà

À妽º À籸Ãà¿¡´Â ´ÙÀ½ Ư¼ºÀÌ ÀÖ½À´Ï´Ù.

À籸ÃàÀÌ ÇÊ¿äÇÑ »óȲ

´ÙÀ½ »óȲÀÏ ¶§ À妽º¸¦ À籸ÃàÇÕ´Ï´Ù.

±¸¹®

´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© À妽º¸¦ À籸ÃàÇÕ´Ï´Ù.

   ALTER INDEX [schema.] index REBUILD

     [ TABLESPACE tablespace]

     [ PCTFREE integer ]

     [ INITRANS integer ]

     [ MAXTRANS integer ]

     [ storage-clause ]

     [ LOGGING | NOLOGGING ]

     [ REVERSE | NOREVERSE ]

ALTER INDEX ... REBUILD ¸í·ÉÀº ºñÆ®¸Ê À妽º¸¦ B Æ®¸® À妽º·Î ¹Ù²Ù°Å³ª ¶Ç´Â ±× ¹Ý´ëÀÎ °æ¿ì »ç¿ëÇÒ ¼ö ¾øÀ¸¸ç REVERSE Å°¿öµå ¶Ç´Â NOREVERSE Å°¿öµå´Â B Æ®¸® À妽º¿¡¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

¿Â¶óÀÎÀ¸·Î À妽º À籸Ãà

À妽º ±¸Ãà ¶Ç´Â À籸Ãà ÀÛ¾÷Àº Å×À̺íÀÌ ¾ÆÁÖ Å« °æ¿ì ½Ã°£ÀÌ ¸¹ÀÌ °É¸®´Â ÀÛ¾÷À̸ç Oracle8i ÀÌÀü¿¡´Â À妽º¸¦ »ý¼º ¶Ç´Â À籸ÃàÇÒ °æ¿ì Å×À̺íÀ» Àᱸ¾î¾ß Çß°í µ¿½Ã DML ÀÛ¾÷À» ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù.

Oracle8i´Â À妽º¸¦ »ý¼º ¶Ç´Â Àç»ý¼ºÇϸ鼭 ±âº» Å×ÀÌºí¿¡ ´ëÇÑ µ¿½Ã ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖÁö¸¸ ÀÌ·¯ÇÑ ÀýÂ÷ Áß¿¡´Â Å« DML ÀÛ¾÷À» ¼öÇàÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

Âü°í : °è¼ÓÇؼ­ DML ¹®ÀÌ Àá°Ü ÀÖÀ¸¸é ¿Â¶óÀÎ À妽º ±¸Ãà Áß¿¡ ´Ù¸¥ DDL ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ¾øÀ½À» ÀǹÌÇÕ´Ï´Ù.

Á¦ÇÑ »çÇ×

 

À妽º º´ÇÕ

À妽º ´ÜÆíÈ­°¡ ÀÖ´Â °æ¿ì ÇØ´ç À妽º¸¦ À籸Ãà ¶Ç´Â º´ÇÕÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú °¢ ¿É¼ÇÀÇ ºñ¿ë ¹× ÀÌÀÍÀ» °í·ÁÇÏ¿© ÀÚ½ÅÀÇ »óȲ¿¡ °¡Àå ÀûÇÕÇÑ ÀÛ¾÷À» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.

Àç»ç¿ëÀ» À§ÇØ °ø°£À» ´Ã¸± ¼ö ÀÌ´Â B Æ®¸® À妽º ÃÖÇÏÀ§ ºí·ÏÀÌ ÀÖ´Â »óȲ¿¡¼­´Â ´ÙÀ½ SQL ¹®À» »ç¿ëÇÏ¿© ÀÌ ÃÖÇÏÀ§ ºí·ÏÀ» º´ÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù.

   SQL> ALTER INDEX summit.orders_id_idx COALESCE;

´ÙÀ½À» ¼öÇàÇÏ·Á¸é À妽º¸¦ ºÐ¼®ÇϽʽÿÀ.
   -   ¸ðµç À妽º ºí·ÏÀ» °Ë»çÇÏ¿© ºí·Ï ÈѼÕÀ» Á¶»çÇÕ´Ï´Ù. À妽º ¿£Æ®¸®°¡ Å×À̺íÀÇ µ¥ÀÌÅÍ¿¡ ´ëÀÀµÇ´ÂÁö ¿©ºÎ´Â °ËÁõÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ.
   -   À妽º¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ´Â INDEX_STATS ºä¿¡ ±â·ÏÇÕ´Ï´Ù.

±¸¹®

   ANALYZE INDEX [schema.]inex VALIDATE STRUCTURE
À§ ¸í·ÉÀ» ¼öÇàÇÑ ÈÄ INDEX_STATS¸¦ ÁúÀÇÇÏ¿© ´ÙÀ½ ¿¹¿¡ º¸¿©Áö´Â °Íó·³ À妽º¿¡ ´ëÇÑ Á¤º¸¸¦ ¾òÀ¸½Ê½Ã¿À.
  SVRMGR> SELECT blocks, pct_used,
       2> lf_rows, del_lf_rows
       3> FROM index_stats;
BLOCKS            PCT_USED           LF-ROWS       DEL_LF_ROWS
-------           --------           -------       ------------                 
     25                 11                14                  0           
1 row selected.
À妽º°¡ »èÁ¦µÈ ÇàÀ» ¸¹ÀÌ °¡Áö°í ÀÖ´Ù¸é À妽º¸¦ À籸ÃàÇϽʽÿÀ. ¿¹¸¦ µé¾î LF_ROWS¿¡ ´ëÇÑ DEL_LF_ROWSÀÇ ºñ°¡ 30%¸¦ ÃÊ°úÇϸé À妽º¸¦ À籸ÃàÇϽʽÿÀ.


´ÙÀ½°ú °°Àº °æ¿ì À妽º¸¦ »èÁ¦ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
    ?  ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀº À妽º´Â Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.
    ?  ´ë·®À¸·Î ·ÎµåÇϱâ Àü¿¡ À妽º¸¦ »èÁ¦ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Å« µ¥ÀÌÅ͸¦ ·ÎµåÇϱâ Àü¿¡ À妽º¸¦ »èÁ¦ÇÏ°í ·ÎµåÇÑ ÈÄ Àç»ý¼ºÇÏ¿©:
        -       ·Îµå ¼º´ÉÀ» Çâ»ó½ÃÅ°½Ê½Ã¿À.
        -       À妽º °ø°£À» º¸´Ù È¿À²ÀûÀ¸·Î »ç¿ëÇϽʽÿÀ.
    ? Á¤±âÀûÀ¸·Î¸¸ »ç¿ëµÇ´Â À妽º´Â ºÒÇÊ¿äÇÏ°Ô À¯Áö º¸¼öµÉ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ƯÈ÷ Àá±ñ¾¿  »ç¿ëÇÏ´Â(volatile) Å×ÀÌºí¿¡ ±âÃÊÇÑ °æ¿ì¿¡´Â ´õ¿í ±×·¸½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ȸÀÇ¿ë ÀڷḦ ¸ðÀ¸±â À§ÇØ ¿¬¸», ¶Ç´Â ºÐ±â ¸»¿¡ ÁúÀǹ®ÀÌ ¸¸µé¾îÁö´Â OLTP ½Ã½ºÅÛÀÇ °æ¿ì°¡ ±×·¸½À´Ï´Ù.
    ?  À妽º´Â ·Îµå °°Àº ƯÁ¤ À¯ÇüÀÇ ÀÛ¾÷ Áß ÀνºÅϽº°¡ ºñÁ¤»óÀûÀ¸·Î Á¾·áÇÒ ¶§ À妽º°¡   INVALID¶ó°í Ç¥½ÃµÉ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì À妽º´Â »èÁ¦µÇ°Å³ª Àç»ý¼ºµÇ¾î¾ß ÇÕ´Ï´Ù.
    ?  À妽º°¡ ÈѼյǾúÀ» ¶§

 ±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© À妽º¸¦ »èÁ¦ÇϽʽÿÀ.
        DROP INDEX [schema.]index

OEM
1   Oracle Schema Manager¸¦ »ç¿ë ÇϽʽÿÀ.
2   Index ³ëµå¸¦ È®Àå ÇϽʽÿÀ.
3   »ç¿ëÀÚ À̸§(¶Ç´Â ½ºÅ°¸¶)¸¦ È®Àå ÇϽʽÿÀ.
4   À妽º¸¦ ¼±Åà ÇϽʽÿÀ.
5   Object->Remove ¼±ÅÃ
6   ´ÙÀ̾ó·Î±× ¹Ú½º¿¡¼­ Yes¸¦ ¼±Åà ÇϽʽÿÀ.

ÁÖ
À妽º°¡ enableµÈ ¹«°á¼º Á¦¾à Á¶°Ç ±¸Çö¿¡ »ç¿ëµÇ¾úÀ» °æ¿ì »èÁ¦µÉ ¼ö ¾ø½À´Ï´Ù. Á¦¾à Á¶°ÇÀº ¡°µ¥ÀÌÅÍ ¹«°á¼º °ü¸®¡± Àå¿¡¼­ ´Ù·ç¾î Áý´Ï´Ù.

 

¿ä¾àÂüÁ¶

 °ü·Ã³»¿ë

 ÂüÁ¶

 Ãʱâ ÆĶó¹ÌÅÍ

 CREATE_BITMAP_AREA_SIZE

 µ¿Àû ¼º´É ºä

 ¾ø½¿

 µ¥ÀÌÅÍ µñ¼Å³Ê¸® Å×À̺í/ºä

 DBA_INDEXS
 DBA_IND_COLUMNS
 IND$
 INDEX_STATS

 ¸í·É¾î

 CREATE INDEX
 CREATE UNIQUE INDEX
 CREATE BITMAP INDEX
 CREATE INDEX...REVERSE
 ALTER INDEX...STORAGE
 ALTER INDEX...INITRANS...MAXTRANS
 ALTER INDEX...ALLOCATE EXTENT
 ALTER INDEX...DEALLOCATE UNUSDE
 ALTER INDEX...REBUILD
 ALTER INDEX...REBUILD...REVERSE
 ALTER INDEX...REBUILD...NOREVERSE
 ANALYZEINDEX...VALIDATE STRUCTURE
 DROPINDEX

 ÆÐÅ°Áö ÇÁ·Î½ÃÀú¿Í ÇÔ¼ö

 ¾ø½¿

 

  1. Analyze¸¦ ÇØ º¸´Ï 1ÁÖÀÏ Àüº¸´Ù À妽º ¿£Æ®¸®°¡ ÇöÀúÇÏ°Ô ÁÙ¾ú´Ù. ¾î¶² Á¶Ä¡¸¦ ÃëÇØ¾ß Çϳª?
    A. ÇÊ¿ä¾øÀ¸¹Ç·Î DropÇÑ´Ù.
    B. Deallocate unused¸¦ »ç¿ëÇÏ¿© ÇÊ¿ä¾ø´Â °ø°£À» ¹Ý³³ÇÑ´Ù.
    C. ¿£Æ®¸®ÀÇ ÀúÇÏ´Â ¼º´ÉÀ» Å©°Ô Á¿ìÇÏÁö ¾ÊÀ¸¹Ç·Î ±×´ë·Î »ç¿ëÇÑ´Ù.
    D. À妽º¸¦ rebuildÇÑ´Ù.
    ´ä
    X Á¤´ä:D


  2. Bitmap Index¸¦ »ç¿ëÇϸé ÁÁÀº °æ¿ì´Â?
    A. OLTP ȯ°æ
    B. WhereÀýÀÇ Á¶°Ç¿¡ OR¸¦ »ç¿ë
    C. High cardinality column
    D. Update°¡ ÀÚÁÖ ÀϾ´Â column
    ´ä
    O


  3. Index segmentÀÇ Æ¯Â¡À¸·Î ¸Â´Â °ÍÀ» ¸ðµÎ °í¸£½Ã¿À.
    A. nologgingÀ¸·Î »ý¼ºµÉ ¼ö ÀÖ´Ù.
    B. ´ë°³ °ü·Ã Å×ÀÌºíº¸´Ù Å©±â°¡ ÀÛ´Ù.
    C. Ç×»ó ¿À¶óŬ ¼­¹ö¿¡ ÀÇÇØ ÀÚµ¿À¸·Î »ý¼ºµÇ°í °ü¸®µÈ´Ù.
    D. Å×À̺í°ú´Â ´Ù¸¥ Å×ÀÌºí½ºÆäÀ̽º¿¡ ÀúÀåµÉ ¼ö ÀÖ´Ù.
    ´ä
    X Á¤´ä:ABD


  4. index¸¦ °¡Áø table ÀÇ data°¡ ¸¹ÀÌ »èÁ¦µÈ °æ¿ì, ´ÙÀ½ Áß °¡Àå ÁÁÀº ó¸® ¹æ¹ýÀº?
    A. indexÀÇ PCTUSED¸¦ 20À¸·Î °¨¼Ò
    B. indexÀÇ PCTUSED¸¦ 80À¸·Î Áõ°¡
    C. indexÀÇ NEXT¸¦ Áõ°¡
    D. index¸¦ dropÇÏ°í Àç»ý¼º
    ´ä
    X Á¤´ä:D


  5. ´ÙÀ½ Áß index¿¡ ´ëÇÑ ¼³¸íÀÌ Æ²¸° °ÍÀº?
    A. columnÀÇ cardinality°¡ ³ôÀ¸¸é B*tree index°¡ ÁÁ´Ù.
    B. Bitmap index´Â OR ¿¬»ê¿¡ ´ëÇؼ­ È¿À²ÀûÀÌ´Ù.
    C. B*tree index°¡ Bitmap indexº¸´Ù Update ºñ¿ëÀÌ ´õ Å©´Ù.
    D. B*tree index´Â OLTP ¾÷¹«¿¡, Bitmap index´Â DSS ¾÷¹«¿¡ È¿°úÀûÀÌ´Ù.
    ´ä
    O


  6. ´ÙÀ½ Áß ÀûÀº key cardinality¸¦ °¡Áö°í OR ¿¬»êÀÚ ¼öÇà ½Ã ÀûÇÕÇÑ À妽º ±¸Á¶´Â?
    A. Reverse Index
    B. Bitmap Index
    C. B-tree Index
    D. Index organized table
    ´ä
    O


  7. ´ÙÀ½°ú °°Àº ¹®ÀåÀÌ ¼öÇàµÇ¾ú´Ù. ´ÙÀ½ Áß ¸Â´Â °ÍÀº?
    create index i_payroll on payroll ( last_name );

    A. tablespace¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ ½ÇÆÐÇÑ´Ù.
    B. userÀÇ default tablespace¿¡ »ý¼ºµÉ °ÍÀÌ´Ù.
    C. applicationÀÌ Á¤ÀÇ µÉ ¶§, application manager¿¡ ÀÇÇØ Á¤ÀÇµÈ tablespace¿¡ »ý¼ºµÉ °ÍÀÌ´Ù.
    D. tablespace¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ SYSTEM tablespace¿¡ »ý¼ºµÉ °ÍÀÌ´Ù.
    ´ä
    X Á¤´ä:B


  8. ºñÆ®¸Ê À妽º(Bitmap Index)°¡ °¡Àå À¯¿ëÇÑ °æ¿ì´Â?
    A. Å×À̺íÀÌ Å©°í Å° Ä÷³ÀÌ ³ôÀº cardinality¸¦ °¡Áö´Â °æ¿ì
    B. Å×À̺íÀÌ ÀÛ°í Å° Ä÷³ÀÌ ³·Àº cardinality¸¦ °¡Áö´Â °æ¿ì
    C. Å×À̺íÀÌ Å©°í Å° Ä÷³ÀÌ ³·Àº cardinality¸¦ °¡Áö´Â °æ¿ì
    D. Å×À̺íÀÌ ÀÛ°í Å° Ä÷³ÀÌ ³ôÀº cardinality¸¦ °¡Áö´Â °æ¿ì
    ´ä
    X Á¤´ä:C