À妽º ºÐ·ù
À妽º´Â Å×ÀÌºí¿¡ ÀÖ´Â ÇàÀ» Á÷Á¢ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â Æ®¸® ±¸Á¶·Î¼ ³í¸®Àû ¼³°è ¶Ç´Â ¹°¸®Àû ±¸Çö¿¡ ±Ù°ÅÇÏ¿© ºÐ·ùÇÒ
¼ö ÀÖ½À´Ï´Ù. ³í¸®Àû ºÐ·ù´Â À妽º¸¦ ÀÀ¿ë ÇÁ·Î±×·¥ °üÁ¡¿¡¼ ³ª´« °ÍÀÌ°í ¹°¸®Àû ºÐ·ù´Â À妽º ÀúÀå ¹æ¹ý¿¡ µû¶ó ³ª´«
°ÍÀÔ´Ï´Ù.
´ÜÀÏ ¿ À妽º ¹× ¿¬°áµÈ À妽º
´ÜÀÏ ¿ À妽º´Â ÇØ´ç À妽º Å°¿¡ ¿ÀÌ Çϳª¸¸ Àִµ¥ ¿¹¸¦ µé¸é, »ç¿ø Å×À̺íÀÇ »ç¿ø ¹øÈ£ ¿¿¡ ´ëÇÑ À妽º°¡
¿©±â¿¡ ÇØ´çµË´Ï´Ù.
¿¬°áµÈ À妽º´Â Á¶ÇÕ À妽º¶ó°íµµ Çϸç Å×À̺íÀÇ ¿©·¯ ¿¿¡ ´ëÇØ »ý¼ºµÇ´Â ÀÌ ¿Àº Å×À̺íÀÇ ¿°ú ¼ø¼°¡ µ¿ÀÏÇϰųª
ÀÎÁ¢ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ¿¹¸¦ µé¾î, »ç¿ø Å×À̺íÀÇ ºÎ¼ ¿°ú Á÷À§ ¿¿¡ ´ëÇÑ À妽º°¡ ¿©±â¿¡ ÇØ´çµË´Ï´Ù.
Á¶ÇÕ Å° À妽ºÀÇ ÃÖ´ë ¿ ¼ö´Â 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) ¶§ ÇØÁ¦µË´Ï´Ù. Å×À̺íÀ» À߶ó ¹ö¸®¸é °ü·Ã À妽ºµµ Àß·Á
Áý´Ï´Ù. |
À妽º À籸Ãà
À妽º À籸Ãà¿¡´Â ´ÙÀ½ Ư¼ºÀÌ ÀÖ½À´Ï´Ù.
- ±âÁ¸ À妽º¸¦ µ¥ÀÌÅÍ ¼Ò½º·Î »ç¿ëÇÏ¿© »õ À妽º¸¦ ±¸ÃàÇÕ´Ï´Ù.
- ±âÁ¸ À妽º¸¦ »ç¿ëÇÏ¿© À妽º¸¦ ±¸ÃàÇÒ °æ¿ì¿¡´Â Á¤·ÄÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î ¼º´ÉÀÌ Çâ»óµË´Ï´Ù.
- »õ À妽º¸¦ ±¸ÃàÇÏ°í ³ª¸é ÀÌÀü À妽º´Â »èÁ¦µÇ¸ç À籸Ãà Áß¿¡´Â ÀÌÀü À妽º ¹× »õ À妽º¸¦ °¢ Å×ÀÌºí½ºÆäÀ̽º¿¡
¸ðµÎ ¼ö¿ëÇÒ ¼ö ÀÖ´Â ÃæºÐÇÑ °ø°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
- °á°ú À妽º´Â »èÁ¦ÇÑ Ç׸ñÀ» Æ÷ÇÔÇÏÁö ¾ÊÀ¸¹Ç·Î ÀÌ À妽º´Â °ø°£À» ´õ È¿À²ÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù.
- »õ À妽º¸¦ ±¸ÃàÇÏ´Â µ¿¾È¿¡´Â ÁúÀÇ¿¡¼ ±âÁ¸ À妽º¸¦ °è¼Ó »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
À籸ÃàÀÌ ÇÊ¿äÇÑ »óȲ
´ÙÀ½ »óȲÀÏ ¶§ À妽º¸¦ À籸ÃàÇÕ´Ï´Ù.
- ±âÁ¸ À妽º¸¦ ´Ù¸¥ Å×ÀÌºí½ºÆäÀ̽º·Î À̵¿ÇØ¾ß ÇÒ °æ¿ì·Î À妽º°¡ Å×À̺í°ú µ¿ÀÏÇÑ Å×ÀÌºí½ºÆäÀ̽º¿¡ Àְųª °´Ã¼¸¦
µð½ºÅ©¿¡ ÀçºÐ¹èÇØ¾ß ÇÒ °æ¿ì¿¡´Â ÀÌ ÀÛ¾÷ÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù.
- À妽º¿¡ »èÁ¦ÇÑ Ç׸ñÀÌ ¸¹ÀÌ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì·Î ÀÌ·¯ÇÑ Çö»óÀº ¿Ï·áµÈ ÁÖ¹®Àº »èÁ¦ÇÏ°í »õ·Î¿î ÁÖ¹®À» ÆùÀº ¹øÈ£·Î
Å×ÀÌºí¿¡ Ãß°¡ÇÏ´Â ÁÖ¹® Å×À̺íÀÇ ÁÖ¹® ¹øÈ£ À妽º¿Í °°ÀÌ º¯ÇÏ´Â À妽º¿¡¼ ³ªÅ¸³ª´Â ÀϹÝÀûÀÎ ¹®Á¦ÀÔ´Ï´Ù. ¿À·¡µÈ ¼Ò¼öÀÇ ÁÖ¹®À» ¾ÆÁ÷ ó¸®ÇÏÁö
¾ÊÀº °æ¿ì Ç׸ñ ÀϺθ¸ »èÁ¦ÇÑ À妽º ÃÖÇÏÀ§ ºí·ÏÀÌ ¸î °³ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù.
- ±âÁ¸ÀÇ ÀÏ¹Ý À妽º¸¦ ¿ª¹æÇâ Å° À妽º·Î º¯È¯ÇØ¾ß ÇÒ °æ¿ì·Î ÀÌÀü ¸±¸®½ºÀÇ Oracle ¼¹ö¿¡¼ ÀÀ¿ë ÇÁ·Î±×·¥À»
ÀÌÀüÇÒ °æ¿ì À籸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.
- À妽ºÀÇ Å×À̺íÀ» ALTER TABLE ... MOVE TABLESPACE ¸í·ÉÀ» »ç¿ëÇÏ¿© ´Ù¸¥ Å×ÀÌºí½ºÆäÀ̽º·Î
À̵¿ÇÑ °æ¿ì
±¸¹®
´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© À妽º¸¦ À籸ÃàÇÕ´Ï´Ù.
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 ÀÛ¾÷À» ¼öÇàÇÒ ¼ö
¾øÀ½À» ÀǹÌÇÕ´Ï´Ù.
Á¦ÇÑ »çÇ×
- Àӽà Å×À̺íÀÇ À妽º´Â À籸ÃàÇÒ ¼ö ¾ø½À´Ï´Ù.
- ºÐÇÒµÈ À妽º Àüü´Â À籸ÃàÇÒ ¼ö ¾øÀ¸¹Ç·Î ºÐÇÒ ¿µ¿ª ¶Ç´Â ÇÏÀ§ ºÐÇÒ ¿µ¿ªÀº °¢°¢ À籸ÃàÇØ¾ß ÇÕ´Ï´Ù.
- »ç¿ëµÇÁö ¾ÊÀº °ø°£Àº ÇÒ´çÀ» ÇØÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù.
- ÇØ´ç À妽º¿¡ ´ëÇÑ PCTFREE ¸Å°³º¯¼öÀÇ °ªÀ» ÀüüÀûÀ¸·Î º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.
À妽º º´ÇÕ
À妽º ´ÜÆíÈ°¡ ÀÖ´Â °æ¿ì ÇØ´ç À妽º¸¦ À籸Ãà ¶Ç´Â º´ÇÕÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú °¢ ¿É¼ÇÀÇ
ºñ¿ë ¹× ÀÌÀÍÀ» °í·ÁÇÏ¿© ÀÚ½ÅÀÇ »óȲ¿¡ °¡Àå ÀûÇÕÇÑ ÀÛ¾÷À» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.
Àç»ç¿ëÀ» À§ÇØ °ø°£À» ´Ã¸± ¼ö ÀÌ´Â 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 |
ÆÐÅ°Áö ÇÁ·Î½ÃÀú¿Í ÇÔ¼ö |
¾ø½¿ | |