Á¤±Ô Å×À̺íÀÇ µ¥ÀÌÅÍ ºÐÆ÷ ¹æ½Ä¿¡ ´ëÇؼ­ ±ØÈ÷ Á¦ÇÑµÈ Á¦¾î¸¸À» °¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀÌ Ã³À½ »ý¼ºµÉ ¶§ ÇàÀº ÀϹÝÀûÀ¸·Î ¼¼±×¸ÕÆ®ÀÇ Ã¹ ÀͽºÅÙÆ®ÀÇ Ã¹ ºí·ÏºÎÅÍ »ðÀԵ˴ϴÙ. ÇÏÁö¸¸, ÀÏ´Ü Çѹø DML ÀÛ¾÷ÀÌ ¼öÇàµÇ¸é ÇÁ¸® ¸®½ºÆ®(free list) ³»¿¡¼­ÀÇ ºí·ÏÀÇ ¼ø¼­¿Í Çà ÀÌÀü(row migration)°°Àº ¿©·¯ °¡Áö ¿äÀεéÀÌ Å×ÀÌºí ³»ÀÇ Çà µ¥ÀÌÅÍÀÇ ¼ø¼­¸¦ Á¶ÀýÇϱ⠾î·Æ°Ô ¸¸µì´Ï´Ù.
Ŭ·¯½ºÅÍ´Â ÇàÀÌ ÀúÀåµÇ´Â ¹æ½Ä¿¡ ¾î´À Á¤µµÀÇ Á¦¾îÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. Ŭ·¯½ºÅ͸¦ »ç¿ëÇÏ¸é ¿À¶óŬ ¼­¹ö´Â °¡´ÉÇÏ´Ù¸é µ¿ÀÏÇÑ Å° °ªÀ» ã´Â ÇàµéÀ» ÀüºÎ ÇÑ ºí·Ï¿¡ ÀúÀåÇÕ´Ï´Ù.
Index-Organized Å×À̺íÀ» »ç¿ëÇÏ¸é µ¥ÀÌÅÍÀÇ ¼ø¼­¿¡ »ó´çÇÑ Á¦¾î¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Index-Organized Å×À̺íÀÇ µ¥ÀÌÅÍ´Â ÁöÁ¤µÈ Å° ¼ø¼­·Î ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù.
º» ÀåÀº µÚÀÇ µÎ °¡Áö µ¥ÀÌÅÍ ÀúÀå ¹æ½Ä¿¡ ´ëÇØ ÁßÁ¡À» µÎ°í ÀÖ½À´Ï´Ù.

 

Ŭ·¯½ºÅÍ´Â °ü°èµÈ ÀÏ·ÃÀÇ ÇàµéÀ» ÇÑ ¿À¶óŬ ¼­¹ö ºí·Ï¿¡ ÀúÀåÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À§ ½½¶óÀ̵å´Â ÁÖ¹® Å×À̺íÀÎ ORD¿Í ÁÖ¹® Ç°¸ñ Å×À̺íÀÎ ITEMÀÌ Å¬·¯½ºÅÍ¿¡ ÀúÀåµÇ¾î ÀÖ´Â ÁÖ¹® ó¸® ½Ã½ºÅÛ(order processing system)ÀÇ ¿¹¸¦ º¸¿© ÁÝ´Ï´Ù.

Ŭ·¯½ºÅÍµÈ Å×À̺í°ú Ŭ·¯½ºÅÍ µÇÁö ¾ÊÀº Å×À̺íÀÇ Â÷ÀÌ
Á¤±Ô Å×À̺í·Î ÀúÀåµÉ °æ¿ì ORD¿Í ITEMÀº ¼­·Î ´Ù¸¥ ¼¼±×¸ÕÆ®¿¡ À§Ä¡ÇÏ°Ô µË´Ï´Ù. ÀÌ ¸»Àº Å×À̺íÀÌ ÀÚ½Åµé °íÀ¯ÀÇ ºí·ÏÀ» »ç¿ëÇÑ´Ù´Â ¶æÀÔ´Ï´Ù. Áï, ORD Å×À̺íÀÇ ÇàÀ» ÀúÀåÇϴµ¥ »ç¿ëµÈ ºí·ÏÀº ITEM Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇÏÁö ¾Ê´Â´Ù´Â ¸»ÀÔ´Ï´Ù. ±× ¹Ý´ëÀÇ °æ¿ìµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
Å×À̺í ORD¿Í ITEMÀÌ Å¬·¯½ºÅÍ·Î ÀúÀåµÇ¸é µ¿ÀÏ Å¬·¯½ºÅÍ ¼¼±×¸ÕÆ®¸¦ °øÀ¯ÇÏ°Ô µË´Ï´Ù. ÀÌ ¼¼±×¸ÕÆ®ÀÇ ºí·ÏÀº ¾ç Å×À̺íÀÇ ÇàÀ» ¸ðµÎ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀÌ Å¬·¯½ºÅÍ·Î ÀúÀåµÇ¸é Ŭ·¯½ºÅÍ´Â ¹°¸®Àû ÀúÀå ´ÜÀ§°¡ µÇ°í Å×À̺íÀº ³í¸®Àû ¿£Æ¼Æ¼(Áï, Ŭ·¯½ºÅÍÀÇ ÀϺκÐ)°¡ µË´Ï´Ù.  

Ŭ·¯½ºÅÍÀÇ Æ¯¼º
Ŭ·¯½ºÅÍ´Â ´ÙÀ½ Ư¼ºÀ» °®½À´Ï´Ù.
  -   Å¬·¯½ºÅÍ´Â ÇÔ²² ÀúÀåµÇ¾î¾ß ÇÏ´Â ÇàµéÀ» ±¸ºÐÇϴµ¥ »ç¿ëµÇ´Â Ŭ·¯½ºÅÍ Å°¸¦ °®½À´Ï´Ù.
  -   Å¬·¯½ºÅÍ Å°´Â Çϳª ÀÌ»óÀÇ ¿­·Î ±¸¼ºµÉ ¼ö ÀÖ½À´Ï´Ù.
  -   Å¬·¯½ºÅÍÀÇ Å×À̺íÀº Ŭ·¯½ºÅÍ Å°¿¡ ´ëÀÀµÇ´Â ¿­À» °®½À´Ï´Ù.
  -   Å¬·¯½ºÅÍÇÏ´Â °Í(clustering)Àº Å×À̺íÀ» »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡°Ô Åõ¸íÇѠó¸® ¹æ¹ýÀÔ´Ï´Ù. Ŭ·¯½ºÅÍµÈ Å×À̺íÀÇ µ¥ÀÌÅÍ´Â ¸¶Ä¡ Á¤±Ô Å×ÀÌºí¿¡ ÀúÀåµÈ °Íó·³ Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
  -   Å¬·¯½ºÅÍ Å°ÀÇ ¿­ Áß Çϳª¸¦ °»½ÅÇÏ¸é ¹°¸®ÀûÀ¸·Î ÇàÀ» Àç¹èÄ¡ÇÏ´Â ÀÏÀ»     ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
  -   Å¬·¯½ºÅÍ Å°´Â ±âº» Å°¿Í´Â µ¶¸³ÀûÀÔ´Ï´Ù. Ŭ·¯½ºÅÍÀÇ Å×À̺íÀº Ŭ·¯½ºÅÍ  Å°¸¦ ±âº»Å°·Î °¡Áú ¼öµµ ÀÖ°í ´Ù¸¥ ¿­À» ±âº»Å°·Î °¡Áú ¼öµµ ÀÖ½À´Ï´Ù.     
  -   Å¬·¯½ºÅÍ´Â º¸Åë ¼º´É Çâ»óÀ» ¸ñÀûÀ¸·Î ÇÕ´Ï´Ù. Ŭ·¯½ºÅÍµÈ µ¥ÀÌÅÍ¿¡ÀÇ ÀÓÀÇ  Á¢±Ù(random access)Àº º¸´Ù »¡¶óÁú ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀϹÝÀûÀ¸·Î   Å¬·¯½ºÅÍµÈ Å×À̺íÀ» Àüü Å×ÀÌºí ½ºÄµ(full table scan) ÇÏ´Â ¼Óµµ´Â ´À·ÁÁý´Ï´Ù.


Ŭ·¯½ºÅÍ¿¡´Â µÎ °¡Áö À¯ÇüÀÌ ÀÖ½À´Ï´Ù.
     -   À妽º Ŭ·¯½ºÅÍ
     -   Çؽ¬ Ŭ·¯½ºÅÍ

À妽º Ŭ·¯½ºÅÍ
À妽º Ŭ·¯½ºÅʹ Ŭ·¯½ºÅÍ ³»ÀÇ µ¥ÀÌÅ͸¦ À¯ÁöÇϱâ À§ÇØ Å¬·¯½ºÅÍ À妽º¶ó´Â À妽º¸¦ »ç¿ëÇÕ´Ï´Ù.
  -    Å¬·¯½ºÅÍ À妽º´Â À妽º Ŭ·¯½ºÅÍ ³»ÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇϰųª Á¢±ÙÇϰųª  À¯ÁöÇÒ ¶§  »ç¿ë °¡´ÉÇؾ߸¸ ÇÕ´Ï´Ù.
  -    Å¬·¯½ºÅÍ À妽º´Â ÁÖ¾îÁø Å° °ªÀ» °¡Áø ÇàÀ» Æ÷ÇÔÇÏ°í ÀÖ´Â ºí·ÏÀ» °¡¸®Å°´Âµ¥ »ç¿ëµË´Ï´Ù.
  -    Å¬·¯½ºÅÍ À妽ºÀÇ ±¸Á¶´Â º¸Åë À妽ºÀÇ ±¸Á¶¿Í ºñ½ÁÇÕ´Ï´Ù. º¸Åë À妽º°¡ NULL Å° °ªÀ» ÀúÀåÇÏÁö ¾ÊÁö¸¸ Ŭ·¯½ºÅÍ À妽º´Â NULL Å°¸¦ ÀúÀåÇÕ´Ï´Ù. Ŭ·¯½ºÅÍ À妽º¿¡´Â °¢ Å° °ª¿¡ ÇØ´çÇÏ´Â ¿£Æ®¸®°¡ Çϳª ¹Û¿¡ ¾ø½À´Ï´Ù. ±×·¯¹Ç·Î Ŭ·¯½ºÅÍ  À妽º´Â µ¿ÀÏÇÑ Å° °ªÀ» °®´Â º¸Åë À妽ºº¸´Ù ´õ ÀÛ½À´Ï´Ù.
 -    Å¬·¯½ºÅͷκÎÅÍ ÇàÀ» ÀúÀåÇÏ°í ÀÐ¾î µéÀ̱â À§ÇØ ¿À¶óŬ ¼­¹ö´Â ÁÖ¾îÁø Å°   °ªÀ» °®´Â ù ÇàÀ» °¡¸®Å°´Â Ŭ·¯½ºÅÍ À妽º¸¦ »ç¿ëÇÕ´Ï´Ù.
  -    À妽º Ŭ·¯½ºÅÍÀÇ ¸î¸î ÇàÀÌ µ¿ÀÏÇÑ Å¬·¯½ºÅÍ Å°¸¦ °¡Áö´õ¶óµµ Ŭ·¯½ºÅÍ    Å°°¡ °¢ Çึ´Ù µÇÇ®À̵ÇÁö ¾Ê½À´Ï´Ù. Å° °ª ´ç Çà ¼ö°¡ ¸¹Àº Å×ÀÌºí¿¡¼­´Â  À妽º Ŭ·¯½ºÅ͸¦ »ç¿ëÇÏ´Â °ÍÀÌ µ¥ÀÌÅ͸¦ ÀúÀåÇϴµ¥ ÇÊ¿äÇÑ °ø°£À» ÁÙ¿©  ÁÙ ¼ö ÀÖ½À´Ï´Ù.

Çؽ¬ Ŭ·¯½ºÅÍ
Çؽ¬ Ŭ·¯½ºÅÍ´Â ÇàÀÇ À§Ä¡¸¦ °è»êÇØ ÁÖ´Â ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. Çؽ¬ ÇÔ¼ö´Â Ŭ·¯½ºÅÍ Å°¸¦ »ç¿ëÇÏ¸ç »ç¿ëÀÚ°¡ Á¤ÀÇÇϰųª ½Ã½ºÅÛÀÌ »ý¼º ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Çؽ¬ Ŭ·¯½ºÅÍÀÇ Å×ÀÌºí¿¡ ÇàÀÌ »ðÀ﵃ ¶§:
      -  Çؽ¬ °ªÀ» °è»êÇϴµ¥ Çؽ¬ Å° ¿­ÀÌ »ç¿ëµË´Ï´Ù.
      -  Çؽ¬ °ª¿¡ ±âÃÊÇÏ¿© ÇàÀÌ ÀúÀåµË´Ï´Ù.
Çؽ¬ ÇÔ¼ö´Â Çؽ¬ Å×À̺í·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÏ ¶§ ÇàÀÇ À§Ä¡¸¦ ã±â À§ÇØ »ç¿ëµË´Ï´Ù. Àû¿ë °¡´ÉÇÑ °æ¿ì Çؽ¬ Ŭ·¯½ºÅÍ´Â À妽º Ŭ·¯½ºÅͺ¸´Ù ´õ ¶Ù¾î³­ ¼º´ÉÀ» Á¦°øÇØ ÁÝ´Ï´Ù. 



 ´ÙÀ½ ´Ü°è¿¡ µû¶ó À妽º Ŭ·¯½ºÅÍ¿¡ Å×À̺íÀ» »ý¼ºÇϽʽÿÀ.
1       Å¬·¯½ºÅ͸¦ »ý¼ºÇÕ´Ï´Ù.
2       Å¬·¯½ºÅÍ À妽º¸¦ »ý¼ºÇÕ´Ï´Ù.
3       Å¬·¯½ºÅÍ¿¡ Å×À̺íÀ» »ý¼ºÇÕ´Ï´Ù.
À妽º¸¦ »ý¼ºÇϱâ Àü¿¡ Ŭ·¯½ºÅÍ¿¡ Å×À̺íÀ» »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ »ðÀÔÇϱâ Àü¿¡ À§ ¼¼ ´Ü°è°¡ ¹Ýµå½Ã ¿Ï·áµÇ¾î¾ß ÇÕ´Ï´Ù.

Ŭ·¯½ºÅÍ »ý¼º
Ŭ·¯½ºÅ͸¦ »ý¼ºÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
        CREATE CLUSTER [schema.]cluster (column datatype [ , column
        datatype] . . .)
        [ PCTFREE integer ]
        [ PCTUSED integer ]
        [ INITRANS integer ]
        [ MAXTRANS integer ]
        [ SIZE integer [ K|M ]
        [ storage-clause ]
        [ TABLESPACE tablespace ]
        [ INDEX ]
±¸¹®¿¡¼­:
        schema          Å¬·¯½ºÅÍÀÇ ¼ÒÀ¯ÀÚ
        cluster         Å¬·¯½ºÅÍ À̸§
        column          Å° ¿­ À̸§
        data type       Å° ¿­ÀÇ µ¥ÀÌÅÍ À¯Çü°ú Å©±â
        SIZE            Å° °ªÀ» °®´Â ¸ðµç Çà¿¡ ÇÊ¿äÇÑ °ø°£À» ¹ÙÀÌÆ®³ª  
                                Å³·Î¹ÙÀÌÆ®, ¶Ç´Â ¸Þ°¡¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤
        INDEX           À妽º Ŭ·¯½ºÅÍ·Î ÁöÁ¤

ÁÖ
SIZE°¡ Á¤ÀǵÇÁö ¾ÊÀ¸¸é ±âº»°ªÀº ÇÑ ºí·Ï Å©±â°¡ µË´Ï´Ù. ¿À¶óŬ ¼­¹ö´Â SIZE¿¡ Á¤ÀÇµÈ °ªÀ» »ç¿ëÇÏ¿© Ŭ·¯½ºÅÍ ÇÑ ºí·Ï¿¡ ¼ö¿ëµÉ ¼ö ÀÖ´Â Å° °ªÀÇ ÃÖ´ë ¼ö¸¦ »êÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î SIZE°¡ 200ÀÏ °æ¿ì ºí·Ï Å©±â°¡ 2048ÀÌ°í Çì´õ¸¦ Çã¿ëÇϸé ÇÑ ºí·Ï¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇØ »ç¿ë °¡´ÉÇÑ °ø°£Àº 1900 ¹ÙÀÌÆ® Á¤µµ°¡ µË´Ï´Ù. ±×·¯¹Ç·Î ÇÑ ºí·ÏÀº ÃÖ´ë 9°³ÀÇ Å° °ªÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.

Ŭ·¯½ºÅÍ À妽º »ý¼º
Ŭ·¯½ºÅÍ À妽º¸¦ »ý¼ºÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
        CREATE INDEX [schema.]index
        ON CLUSTER [schema.]cluster
        [ PCTFREE integer ]
        [ INITRANS integer ]
        [ MAXTRANS integer ]
        [ TABLESPACE tablespace ]
        [ storage-clause ]
Ŭ·¯½ºÅÍ°¡ »ý¼ºµÉ ¶§ ÀÌ¹Ì Å° ¿­ÀÌ Á¤ÀǵǹǷΠŬ·¯½ºÅÍ À妽ºÀÇ °æ¿ì Å° ¿­À» ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. Ŭ·¯½ºÅÍ À妽º¸¦ Ŭ·¯½ºÅÍ »ý¼º¿¡ »ç¿ëÇÑ Å×ÀÌºí½ºÆäÀ̽º¿Í´Â ´Ù¸¥ Å×ÀÌºí½ºÆäÀ̽º¿¡ À§Ä¡½ÃÅ°½Ê½Ã¿À.

 


´ÙÀ½ ´Ü°è¿¡ µû¶ó Çؽ¬ Ŭ·¯½ºÅ͸¦ »ý¼ºÇÏ°í Å×À̺íÀ» À§Ä¡ ½ÃÅ°½Ê½Ã¿À.
1       Å¬·¯½ºÅ͸¦ »ý¼ºÇÕ´Ï´Ù.
2       Å×À̺íÀ» »ý¼ºÇÕ´Ï´Ù.

±¸¹®
Çؽ¬ Ŭ·¯½ºÅ͸¦ »ý¼ºÇÏ´Â ¸í·ÉÀº À妽º Ŭ·¯½ºÅ͸¦ »ý¼ºÇÏ´Â ¸í·É°ú ºñ½ÁÇÕ´Ï´Ù.
        CREATE CLUSTER [schema.]cluster (column datatype [, column
        datatype ] . . . )
        HASHKEYS integer
        [ HASH IS expression ]
        [ PCTFREE integer ]
        [ PCTUSED integer ]
        [ INITRANS integer ]
        [ MAXTRANS integer ]
        [ SIZE integer [ K | M ] ]
        [ storage-clause ]
        [ TABLESPACE tablespace ] 

HASHKEYS ÀýÀº Ŭ·¯½ºÅÍ°¡ Çؽ¬ Ŭ·¯½ºÅÍÀÓÀ» ³ªÅ¸³À´Ï´Ù. ¿À¶óŬ ¼­¹ö´Â °¡´ÉÇÑ Å¬·¯½ºÅÍ Å° °ªÀÇ °¹¼ö·Î HASHKEYS¿¡¼­ ÁöÁ¤ÇÑ °ªº¸´Ù Å« ¼Ú¼ö(prime number)¸¦ »ç¿ëÇÕ´Ï´Ù. ¿É¼Ç Àý HASH IS´Â »ç¿ëÀÚ Á¤ÀÇ Çؽ¬ ÇÔ¼ö, expressionÀ» ÁöÁ¤Çϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

OEM
1       Oracle Schema Manager¸¦ »ç¿ëÇϽʽÿÀ.
2       Object->Create¸¦ ¼±ÅÃÇϽʽÿÀ.
3       °ªµé Áß¿¡¼­ Cluster¸¦ ¼±ÅÃÇÏ°í OK¸¦ ¼±ÅÃÇϽʽÿÀ.
4       property sheet¿¡ General, Storage, ±×¸®°í Options Á¤º¸¸¦ ÀÔ·ÂÇϽʽÿÀ.
5       Create¸¦ ¼±ÅÃÇϽʽÿÀ.
ÀÌ¿Í´Â ´Þ¸® ³×ºñ°ÔÀÌÅÍ¿¡¼­ ±âÁ¸ Ŭ·¯½ºÅ͸¦ ¼±ÅÃÇÑ ÈÄ Object->Create Like¸¦ ¼±ÅÃÇÏ¿© ±âÁ¸ Ŭ·¯½ºÅÍ¿Í µ¿ÀÏÇÑ Å°¿Í ÀúÀå Ư¼ºÀ» °®´Â »õ Ŭ·¯½ºÅ͸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

 SIZE ÆĶó¹ÌÅÍ
Ŭ·¯½ºÅÍ¿¡¼­ SIZE ÆĶó¹ÌÅÍ´Â ÁÖ¾îÁø Ŭ·¯½ºÅÍ Å° °ªÀ» °®´Â Çà ÀüºÎ¿¡ ÀÇÇØ »ç¿ëµÇ´Â °ø°£À» Á¤ÀÇÇÕ´Ï´Ù. ¿¹¸¦ µé¾î °¢ ÁÖ¹®(order)ÀÌ 10°³ÀÇ ¾ÆÀÌÅÛÀ» °®°í ORD Å×À̺íÀÇ Çà Å©±â°¡ 20 ¹ÙÀÌÆ®À̸ç ITEM Å×À̺íÀÇ ÇàÀÌ 18 ¹ÙÀÌÆ®¶ó¸é SIZE´Â ´ÙÀ½ °ø½ÄÀ¸·Î Á¤Àǵ˴ϴÙ.

        1 ORD Çà * 20 ¹ÙÀÌÆ®/Çà + 10 ITEM Çà * 18 ¹ÙÀÌÆ®/Çà = 200 ¹ÙÀÌÆ®

µÚ¿¡¼­ ¼³¸íµÇ°ÚÁö¸¸, Çؽ¬ Ŭ·¯½ºÅÍ¿¡¼­ SIZEÀÇ °ªÀ» °áÁ¤ÇÒ ¶§´Â Ãæµ¹ °¡´É¼ºÀ» ÁÙÀÏ ¼ö ÀÖµµ·Ï ´Ù¼Ò ³ôÀº °ªÀ» ÁöÁ¤ÇÏ´Â °ÍÀÌ Çö¸íÇÕ´Ï´Ù

HASHKEYS
Å°¿öµå HASYKEYS´Â Çؽ¬ Ŭ·¯½ºÅÍ¿¡¼­ ¿¹»óµÇ´Â Å° °ªÀÇ °¹¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. SIZE¿Í ÇÔ²² ¿À¶óŬ ¼­¹ö°¡ Ŭ·¯½ºÅÍÀÇ Ãʱâ Å©±â¸¦ »êÁ¤Çϴµ¥ »ç¿ëÇÕ´Ï´Ù. »ý¼º½Ã Ŭ·¯½ºÅÍ¿¡ ÇÒ´çµÇ´Â °ø°£Àº ´ÙÀ½ °ø½ÄÀ¸·Î Á¤Àǵ˴ϴÙ.
                                              
                                                  HASHKEYS
                CEIL(-------------------------------------------)
                                 TRUNC(»ç¿ë °¡´ÉÇÑ ºí·Ï °ø°£/SIZE)

¿©±â¼­:

                                                                                             PCTFREE
»ç¿ë °¡´ÉÇÑ ºí·Ï °ø°£ = (DB_BLOCK_SIZE - Çì´õ) * ( 1 - ---------------- )
                                                                                                  100

ÀͽºÅÙÆ®´Â ÇÒ´çµÈ ÀͽºÅÙÆ®ÀÇ ÃÑ Å©±â°¡ °è»êµÈ °ª°ú °°°Å³ª ±×º¸´Ù Ä¿Áú ¶§±îÁö ½ºÅ丮Áö Àý¿¡ Á¤ÀÇµÈ ´ë·Î ÇÒ´çµË´Ï´Ù.

HASH IS
Çؽ¬ ÇÔ¼ö´Â »ç¿ëÀÚ°¡ Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇÔ¼ö ¼±ÅÃÀº Å° ºÐÆ÷¸¦ °í·ÁÇÏ¿©¾ß ÇÏ¸ç ´ÙÀ½°ú °°¾Æ¾ß ÇÕ´Ï´Ù.
   -   Çؽ¬ °ªµé »çÀÌ¿¡ ÇàÀÇ ÃÖ´ë ºÐÆ÷°¡ ÀÖµµ·Ï ÇÕ´Ï´Ù.
   -   ¿¹»óÇÏÁö ¾Ê¾Ò´ø Ãæµ¹(collisions) Ƚ¼ö¸¦ ÃÖ¼ÒÈ­ÇØ¾ß ÇÕ´Ï´Ù.(¿©·¯ Å° °ªÀÌ
     Çؽ¬ ÇÔ¼ö¸¦ Àû¿ëÇßÀ» ¶§ °°Àº °á°ú¸¦ ³ºÀ» °æ¿ì Ãæµ¹ÀÌ ¹ß»ýÇÕ´Ï´Ù. Ãæµ¹ÀÌ  
     ¹ß»ýÇÏ°í ¸ðµç ÇàÀ» ¼ö¿ëÇÒ¸¸ÇÑ ÃæºÐÇÑ °ø°£ÀÌ ¾øÀ¸¸é »õ ÇàÀº ¿À¹öÇ÷οì
     ºí·Ï¿¡ À§Ä¡ÇÏ°Ô µÇ°í ±× ÇàÀ» °¡¸®Å°´Â Æ÷ÀÎÅÍ´Â ºí·Ï¿¡ À§Ä¡ÇÏ°Ô µË´Ï´Ù.)
   -   Çؽ¬ ÇÔ¼ö¸¦ Àû¿ëÇÑ °á°ú´Â ¾ç¼öÀ̾î¾ß ÇÕ´Ï´Ù.
Çؽ¬ ÇÔ¼ö´Â SYSDATE¿Í USER °°ÀÌ Àû¿ëÇÒ ¶§¸¶´Ù °á°ú°ªÀÌ º¯ÇÏ´Â °ÍÀ» Á¦¿ÜÇÑ ÀûÇÕÇÑ SQL ¼ö½ÄÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ Çؽ¬ ÇÔ¼öÀÇ ÀϺηΠ»ç¿ëÇÒ ¼ö´Â ¾ø½À´Ï´Ù. 

 

 ´ÙÀ½ Ç¥´Â À妽º¿Í Çؽ¬ Ŭ·¯½ºÅÍ¿¡ ´ëÇØ ¼öÇàµÉ ¼ö ÀÖ´Â À¯Áö º¸¼ö ÀÛ¾÷À» ¿ä¾àÇØ ÁÝ´Ï´Ù.

 ¸í·É

 ÀÛ¾÷

 À妽º
 Å¬·¯½ºÅÍ

 Çؽ¬
 Å¬·¯½ºÅÍ

 ALTER
 CLUSTER

 

 °ø°£ È°¿ë ÆĶó¹ÌÅÍ º¯°æ

Yes

 Yes

 INITIALÀ» Á¦¿ÜÇÑ ½ºÅ丮Áö ¼³Á¤ º¯°æ

Yes

Yes

 ÀͽºÅÙÆ® ÇÒ´ç

Yes

 Yes

 »ç¿ëµÇÁö ¾ÊÀº °ø°£ ÇÒ´ç ÇØÁ¦

Yes

 Yes

 SIZE º¯°æ

Yes

 No

 HASHKEYS ¹× HASH IS º¯°æ

N/A

 No

 TRUNCATE
 CLUSTER

 °ø°£ ÇØÁ¦

Yes

 No

 °ø°£ Àç»ç¿ë

Yes

 No


 ALTER CLUSTER, TRUNCATE CLUSTER, ±×¸®°í ANALYZE CLUSTER ¸í·ÉÀº Å×ÀÌºí¿¡ ´ëÇØ ¾²ÀÌ´Â ¸í·Éµé°ú »ç¿ë ¹æ¹ýÀÌ °°½À´Ï´Ù.

 

 Å¬·¯½ºÅʹ Ŭ·¯½ºÅÍ ³»ÀÇ ¸ðµç Å×À̺íÀÌ »èÁ¦µÈ ÈÄ¿¡¾ß »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù. DROP CLUSTER ¸í·ÉÀÇ INCLUDING TABLES ¿É¼ÇÀ» »ç¿ëÇϵçÁö Ŭ·¯½ºÅ͸¦ »èÁ¦Çϱâ Àü¿¡ Å×À̺íÀ» »èÁ¦ÇÏ´Â ¹æ¹ýÀ» ¾²½Ê½Ã¿À.

±¸¹®
Ŭ·¯½ºÅ͸¦ »èÁ¦ÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
        DROP CLUSTER [schema.]cluster
        [ INCLUDING TABLES [ CASCADE CONSTRAINTS ] ]

¸¸¾à Ŭ·¯½ºÅͳ»ÀÇ ¾î´À Å×À̺íÀÌ¶óµµ Å¬·¯½ºÅÍ¿¡ ¼ÓÇÏÁö ¾ÊÀº Å×À̺íÀÇ ¿Ü·¡ Å° Á¦¾à Á¶°Ç¿¡ ÀÇÇØ ÂüÁ¶µÇ°í ÀÖ´Ù¸é CASCADE CONSTRAINTS ÀýÀÌ »ç¿ëµÇ¾î¾ß¸¸ ÇÕ´Ï´Ù.

 

Ŭ·¯½ºÅ͸¦ ±¸ÇöÇÒ ¶§´Â Å×ÀÌºí¿¡ ´ëÇÑ ÀÛ¾÷ »Ó¸¸ ¾Æ´Ï¶ó µ¥ÀÌÅÍÀÇ Æ¯¼ºµµ ÁÖÀDZí°Ô °í·ÁÇغÁ¾ß ÇÕ´Ï´Ù.

µ¥ÀÌÅÍÀÇ Æ¯¼º
´ÙÀ½ µÎ ¹®´ÜÀº Ŭ·¯½ºÅÍ µ¥ÀÌÅÍÀÇ Æ¯¼º¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

Å° °ªÀÇ ºÐÆ÷
Ŭ·¯½ºÅÍ´Â ÀϹÝÀûÀ¸·Î Å° °ªÀÇ ¹ß»ý ºóµµ°¡ ±ÕÀÏÇÑ »óȲ¿¡ ´õ ÀûÇÕÇÕ´Ï´Ù. ÁÖ¹® ó¸®ÀÇ °æ¿ì ÁÖ¹®ÀÌ °ÅÀÇ µ¿ÀÏÇÑ ¼öÀÇ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´Ù¸é Ŭ·¯½ºÅÍ°¡ À¯¿ëÇÕ´Ï´Ù. ¾î¶² ÁÖ¹®Àº ¿ÀÁ÷ Çϳª, ¶Ç´Â µÎ°³ÀÇ ¾ÆÀÌÅÛ¸¸À» °¡Áö°í Àִµ¥ ´Ù¸¥ ÁÖ¹®Àº ¼ö¹é °³ÀÇ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´Ù¸é Ŭ·¯½ºÅÍ°¡ ÀûÇÕÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

Å° °ªÀÇ ¹üÀ§¿Í ±× ºÐÆ÷
¾î¶² ¹üÀ§¿¡ °ÉÃÄ »êÀçÇÑ Å° °ªÀº Ŭ·¯½ºÅÍ ³»ÀÇ ¸¹Àº °ø°£À» ³¶ºñÇÒ °ÍÀ̹ǷΠÇؽ¬ Å° ±¸Çö¿¡ ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù. ½ÅÁßÇÏ°Ô ¼³°èµÈ Çؽ¬ ¾Ë°í¸®ÁòÀÌ ÀÌ ¹®Á¦¸¦ ±Øº¹ÇÒ ¼ö ÀÖÀ»Áö¶óµµ ÀÌ·± °æ¿ì ÀûÀýÇÑ Çؽ¬ ÇÔ¼ö¸¦ °³¹ßÇØ ³»´Â °ÍÀº ¸Å¿ì ¾î·Á¿ï °ÍÀÔ´Ï´Ù. 

Å×À̺íÀÇ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÀÛ¾÷
Ŭ·¯½ºÅ͸¦ ±¸ÇöÇÒ ¶§´Â µ¥ÀÌÅ͸¦ ¾î¶² ¹æ½ÄÀ¸·Î »ç¿ëÇÒ °ÍÀÎÁö °í·ÁÇØ ºÁ¾ß¸¸ ÇÕ´Ï´Ù.

Å° ¿­ °»½Å ºóµµ
Ŭ·¯½ºÅÍÀÇ Å° °ªÀÌ °»½ÅµÇ¸é ÇàÀº ´Ù¸¥ ºí·ÏÀ¸·Î ¹°¸®ÀûÀ¸·Î À̵¿µÇ¾îÁ®¾ß¸¸ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ¼º´É ÀúÇÏ°¡ ÀϾ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ÀÚÁÖ °»½ÅµÇ´Â ¿­Àº Ŭ·¯½ºÅÍ Å°·Î Àû´çÇÏÁö ¸øÇÕ´Ï´Ù.

Á¶ÀÎ(join) ºóµµ
ÁúÀǹ®¿¡¼­ ¿Ü·¡Å° °ü°è·Î ÀÚÁÖ Á¶ÀεǴ Å×À̺íÀº Ŭ·¯½ºÅÍ·Î ±¸ÇöÇϸé ÁÁ½À´Ï´Ù. ÇØ´ç Å° °ªÀ» °¡Áø ÇàÀÌ ÇÔ²² ÀúÀåµÇ¹Ç·Î Ŭ·¯½ºÅ͸¦ »ç¿ëÇϸé Àоî¾ß ÇÒ ºí·Ï ¼ö¸¦ ÁÙ¿©ÁÙ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù.
¾î¶°ÇÑ »óȲ¿¡¼­´Â Ŭ·¯½ºÅÍ¿¡ µðÅ×ÀÏ Å×ÀÌºí¸¸À» À§Ä¡½ÃÅ°´Â °ÍÀÌ À¯¿ëÇÕ´Ï´Ù. »ç¿ø Á¤º¸°¡ Ç×»ó ºÎ¼­(department)¿¡¼­¸¸ Á¢±ÙµÇ°í ºÎ¼­ Å×À̺íÀ» Àüü Å×ÀÌºí ½ºÄµ(full table scan)ÇÏ´Â °æ¿ì°¡ ÀæÀº °æ¿ì¶ó¸é Ŭ·¯½ºÅÍ¿¡ »ç¿ø Å×ÀÌºí¸¸À» À§Ä¡½ÃÅ°½Ê½Ã¿À.

Å° °ªÀÇ ¼ö »êÁ¤
Çؽ¬ Ŭ·¯½ºÅÍ¿¡¼­´Â Çؽ¬ ÇÔ¼ö´Â »ý¼º½Ã »ç¿ëÀÚ¿¡ ÀÇÇØ ÁöÁ¤µÈ ÆĶó¹ÌÅÍ¿¡ ±âÃÊÇÕ´Ï´Ù. µ¥ÀÌÅÍÀÇ º¯µ¿¼º¶§¹®¿¡ Å° °ªÀ̳ª ±× Å©±â¸¦ Á¤È®È÷ ¿¹ÃøÇÏ´Â °ÍÀÌ ¾î·Á¿ö HASHKEYS³ª SIZE¸¦ À߸ø ¼±ÅÃÇÏ¸é ¿À¹öÇ÷ο찡 ³Ê¹« ¸¹ÀÌ ¹ß»ýÇϰųª °ø°£À» ³¶ºñÇÏ°Ô ¸¸µå´Â ºñÈ¿À²ÀûÀÎ Çؽ¬ ÇÔ¼ö¸¦ ³ºÀ» ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î Çؽ¬´Â SIZE¿Í HASHKEYS°¡ ¿¹Ãø°¡´ÉÇÒ °æ¿ì¿¡¸¸ À¯¿ëÇÕ´Ï´Ù.

ÁúÀÇ Á¶°Ç
Çؽ¬ ÇÔ¼ö´Â Å° °ªÀ» ¾Ë¶§¸¸ µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀ̴µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ ¹üÀ§ °Ë»ö(range search)Àº Çؽ¬ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ÁúÀÇ°¡ Ŭ·¯½ºÅÍ Å°¿¡ µ¿ÀÏÇÑ Á¶°ÇÀ» °®°í ÀÖ´Ù¸é Çؽ¬ÀÇ µæÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¸¹Àº ÁúÀÇ°¡ Çؽ¬ Ŭ·¯½ºÅÍ Å° ¿­¿¡ ´ëÇØ ¹üÀ§ °Ë»öÀ» »ç¿ëÇÑ´Ù¸é Çؽ¬ Ŭ·¯½ºÅÍ¿¡ À妽º¸¦ »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

 

Ŭ·¯½ºÅÍ¿Í Å¬·¯½ºÅÍ Å° ¿­
SCOTTÀÌ ¼ÒÀ¯ÇÑ À妽º Ŭ·¯½ºÅÍÀÇ À̸§°ú Ŭ·¯½ºÅÍ Å° ¿­À» ¾Ë¾Æ³»·Á¸é ´ÙÀ½ ÁúÀǸ¦ »ç¿ëÇϽʽÿÀ.
SVRMGR> SELECT c.cluster_name, c.cluster_type, c.key_size,
                2> cc.column_name, cc.data_type,
                3> decode(cc.data_type, ¡®NUMBER¡¯,
                4> decode(cc.data_precision, NULL, NULL,
                5> cc.data_precision || ¡®,¡¯ || cc.data_scale),
                6> ¡®DATE¡¯, NULL, cc.data_length) AS ¡°COLSIZE¡±
                7> FROM dba_clusters c, dba_tab_columns cc
                8> WHERE c.owner = cc.owner
                9> AND c.cluster_name = cc.table_name
          10> AND c.owner = ¡®SCOTT¡¯;
CLUSTER_NAME CLUST  KEY_SIZE  COLUMN_NAME  DATA_TYPE  COLSIZE
------------ ------ --------  -----------  ---------  -------OFF_CLU      HASH   500       COUNTRY      VARCHAR2         2
OFF_CLU      HASH   500       POSTCODE     VARCHAR2         8
ORD_CLU      INDEX  300       ORD_NO       NUMBER        3, 0
3 rows selected.

Ŭ·¯½ºÅÍ Å° ¿­°ú Å×À̺íÀÇ ¿­ ÀÏÄ¡
Ŭ·¯½ºÅÍ, Ŭ·¯½ºÅÍÀÇ Å×À̺í, °¢°¢ÀÇ ´ëÀÀÇÏ´Â ¿­ À̸§ ¸®½ºÆ®¸¦ º¸°í ½ÍÀ¸¸é DBA_CLU_COLUMNS¸¦ ÁúÀÇÇϽʽÿÀ.
SVRMGR> SELECT *
                2> FROM dba_clu_columns
        3> WHERE owner = ¡®SCOTT¡¯
        4> ORDER BY cluster_name, table_name;

OWNER   CLUSTER_NAME   CLU_COLUMN_NA   TABLE_NAME   TAB_COLUMN_NA
-----   ------------   -------------   ----------   -------------
SCOTT   OFF_CLU        COUNTRY         OFFICE       COUNTRY
SCOTT   OFF_CLU        POSTCODE        OFFICE       POSTCODE
SCOTT   ORD_CLU        ORD_NO          ITEM         ORD_NO
SCOTT   ORD_CLU        ORD_NO          ORD          ORD_NO
4 rows selected.

Çؽ¬ Ŭ·¯½ºÅÍ¿¡ ´ëÇÑ Ãß°¡ Á¤º¸ ¾ò±â
»ç¿ëµÈ Çؽ¬ Å°ÀÇ ¼ö¿Í Çؽ¬ ÇÔ¼öÀÇ À¯ÇüÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ÁúÀǸ¦ »ç¿ëÇϽʽÿÀ.
        SVRMGR> SELECT c.cluster_name, c.hashkeys, c.function,
        2>         h.hash_expression
        3> FROM dba_clusters c, dba_cluster_hash_expressions h
        4> WHERE c.owner = h.owner(+)
        5> AND c.cluster_name = h.cluster_name(+)
        6> AND c.owner = ¡®SCOTT¡¯
        7> AND c.cluster_type = ¡®HASH¡¯
        
        CLUSTER_NAME     HASHKEYS      FUNCTION      HASH_EXPRESSION
        -------------  ----------      -----------   ---------------.
        OFF_CLU              1009      DEFAULT2    
        1 row selected.
DBA_CLUSTERSÀÇ Çؽ¬ Ŭ·¯½ºÅÍ¿¡ ´ëÇÑ FUNCTION ¿­Àº ´ÙÀ½ Áß ÇϳªÀÇ °ªÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
DEFAULT2                        ¿À¶óŬ ¼­¹ö ³»ºÎ ÇÔ¼ö°¡ »ç¿ëµÇ´Â °æ¿ì
COLUMN                          Å° ¿­ ÀÚü°¡ HASH IS Àý¿¡ ÁöÁ¤µÇ¾î ÀÖ´Â °æ¿ì
HASH EXPRESSION         »ç¿ëÀÚ Á¤ÀÇ ¼ö½ÄÀÎ Çؽ¬ ÇÔ¼ö¿¡ ´ëÇØ

ÁÖ
¼Â ÀÌ»óÀÇ µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä¸¦ Á¶ÀÎÇؼ­ »ç¿ëÇØ¾ß ÇÑ´Ù¸é ºä¿¡ ±âÃÊÇÏ¿© Àӽà Å×À̺íÀ» Á¤ÀÇÇÑ ÈÄ Á¶Àο¡ ±× Å×À̺íÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù

 

 ½ºÅ丮Áö ±¸Á¶
Index-Organized Å×À̺íÀº ¸ðµç Å×ÀÌºí µ¥ÀÌÅ͸¦ B-Æ®¸® ±¸Á¶·Î ÀúÀåÇÕ´Ï´Ù. Å×À̺íÀÇ ±âº» Å°¿¡ ±âÃÊÇÑ B-Æ®¸® À妽º´Â À妽ºÃ³·³ Á¶Á÷µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ±¸Á¶ÀÇ leaf ºí·ÏÀº À妽º leaf ¿£Æ®¸®ÀÇ µÎ¹ø° ±¸¼º ¿ä¼Ò¿¡ ROWID ´ë½Å nonkey ¿­À» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î Index-Organized Å×À̺íÀ» »ç¿ëÇϸé Å×À̺í°ú À妽º¶ó´Â º°µµÀÇ µÎ ¼¼±×¸ÕÆ®¸¦ °¡Áú ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.

Index-Organized Å×À̺í Á¢±Ù
Á¤±Ô Å×ÀÌºí¿¡ À妽º Á¢±ÙÇÏ·Á¸é Çϳª ÀÌ»óÀÇ À妽º ºí·ÏÀ» Àоî ROWID¸¦ ÀÐ¾î µéÀÌ°í ROWID¿¡ ±âÃÊÇÏ¿© Å×ÀÌºí¿¡ ´ëÇÑ I/O¸¦ ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ¿Í´Â ´ëÁ¶ÀûÀ¸·Î Index-Organized Å×À̺íÀ» ÀÐÀ¸·Á¸é ¸ðµç ÇàÀÌ leaf ³ëµå¿¡ ÀÖÀ¸¹Ç·Î À妽º ºí·Ï¸¸ ÀÐÀ¸¸é µË´Ï´Ù.
Index-Organized Å×À̺íÀº ±âº» Å°³ª ±âº» Å°ÀÇ ÁÖ¿ä ºÎºÐÀ» ±¸¼ºÇÏ´Â ¿­ÀÇ Á¶ÇÕÀ» »ç¿ëÇÏ¿© Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.
»õ Çà Ãß°¡, Çà °»½Å, ¶Ç´Â Çà »èÁ¦ µîÀÇ Å×ÀÌºí µ¥ÀÌÅÍ¿¡ ´ëÇÑ º¯°æÀº À妽º¸¸À» °»½ÅÇÒ »ÓÀÔ´Ï´Ù.


Index-Organized ÀÌ Á¤±Ô Å×À̺í°ú °°Àº Á¡Àº ´ÙÀ½°ú °°½À´Ï´Ù.
   -   ROWID´Â Á¤±Ô Å×ÀÌºí¿¡¼­´Â ÇàÀ» °íÀ¯ÇÏ°Ô ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ Index-Organized  Å×À̺íÀÇ ÇàÀº ±âº» Å°·Î ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.
   -   Á¤±Ô Å×À̺íÀº À妽º Å° °ª¿¡ ´ëÀÀÇÏ´Â ROWID¸¦ ÀúÀåÇÏ´Â ¸¹Àº À妽º¸¦ °¡Áú ¼ö  ÀÖ½À´Ï´Ù. Index-Organized Å×À̺íÀº ROWID¸¦ °®Áö ¾ÊÀ¸¹Ç·Î ÀÌ À¯ÇüÀÇ Å×ÀÌºí¿¡´Â º¸Á¶  À妽º°¡ »ý¼ºµÉ ¼ö ¾ø½À´Ï´Ù. Index-Organized Å×À̺íÀÇ ROWID¸¦ ÀÐ¾î µéÀÌ·Á´Â ½Ãµµ¸¦ ÇÏ´Â SQL ¹®Àº ´ÙÀ½°ú °°Àº ¿¡·¯¸¦ ¹Þ°Ô µÉ °ÍÀÔ´Ï´Ù.
   -   ORA-02031: no ROWID for fixed tables or for index_organized tables
 Á¤±Ô Å×ÀÌºí¿¡ Àüü Å×ÀÌºí ½ºÄµ(full table scan)À» ÇÒ ¶§ ÇàÀÌ ¸®ÅϵǴ ¼ø¼­´Â ¿¹ÃøÇÒ ¼ö ¾ø½À´Ï´Ù. Index-Organized Å×ÀÌºí¿¡ ´ëÇÑ Àüü ½ºÄµÀº ±âº» Å° ¼ø¼­·Î ÇàÀ» ¸®ÅÏÇÕ´Ï´Ù.
   -   Index-Organized Å×À̺íÀº À¯ÀÏ Á¦¾à Á¶°ÇÀ» Á¦¿ÜÇÑ ¸ðµç Á¦¾à Á¶°ÇÀ» Áö¿øÇÕ´Ï´Ù.
   -   Index-Organized Å×À̺íÀº ºÐ»ê Æ®·£Àè¼Ç(distributed transaction)¿¡ »ç¿ëµÉ ¼ö ¾øÀ¸¸ç ºÐÇҵǰųª º¹»çµÉ ¼öµµ ¾ø½À´Ï´Ù. 

 


 Index-Organized Å×À̺íÀº ´ÙÀ½ÀÇ °æ¿ì À¯¿ëÇÕ´Ï´Ù.
     -  Á¤º¸ °Ë»ö ÀÀ¿ë ÇÁ·Î±×·¥
     -   °ø°£ ÀÀ¿ë ÇÁ·Î±×·¥(Spatial applications)
     -   ¿Â¶óÀÎ ºÐ¼® ó¸®(OLAP) ÀÀ¿ë ÇÁ·Î±×·¥
À妽º Á¶Á÷Àº ±âº» Å°¸¦ »ç¿ëÇÏ¿© ÀÚÁÖ Á¢±ÙµÇ¸ç Å°°¡ ¾Æ´Ñ(nonkey) ¿­ÀÌ ºñ±³Àû ª°í ÀûÀº Å×ÀÌºí¿¡ À¯¿ëÇÕ´Ï´Ù.

±¸¹®
Index-Organized Å×À̺íÀ» Á¤ÀÇÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ.
        CREATE TABLE [schema.]table
        (column-definition [ , column-definition ] . . .
        [ , out-of-line-constraint [ , out-of-line-constraint ] . . . ] )
        ORGANIZATION INDEX
        [ PCTFREE integer ]
        [ INITRANS integer ]
        [ MAXTRANS integer ]
        [ storage-clause ]
        [ TABLESPACE tablespace ]
        [ PCTTHRESHOLD integer
            [ INCLUDING column ] ]
                [ OVERFLOW segment_attributes_clause ]

±¸¹®¿¡¼­:
   schema                            Å¬·¯½ºÅÍÀÇ ¼ÒÀ¯ÀÚ
   table                                 Å×À̺íÀÇ À̸§
   ORGANIZATION INDEX       Index-Organized Å×À̺í·Î ÁöÁ¤
   PCTTHRESHOLD              À妽º ºí·Ï ³»¿¡ Index-Organized Å×À̺íÀ» À§ÇØ                                            ¿¹¾àµÈ °ø°£ÀÇ ¹éºÐÀ²À» ÁöÁ¤(ÇàÀÌ ÀÌ °ª¿¡ ±âÃÊÇÏ¿©                                            °è»êµÈ Å©±â¸¦ ÃÊ°úÇϸé INCLUDING Àý¿¡ ÁöÁ¤µÈ ¿­                                            ÀÌÈÄÀÇ ¿­µéÀº ¸ðµÎ ¿À¹öÇÃ·Î¿ì ¼¼±×¸ÕÆ®·Î À̵¿                                            µË´Ï´Ù.  OVERFLOW°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÓ°è°ª                                            (threshold)¸¦ ÃÊ°úÇÑ ÇàµéÀº °ÅºÎ(reject)µË´Ï´Ù.                                            PCTTHRESHOLD ±âº»°ªÀº 50À̸ç ÀÌ °ªÀº 0¿¡¼­                                            50 »çÀÌ¿¡ µé¾î¾ß¸¸ ÇÕ´Ï´Ù.)
   INCLUDING column         Index-Organized  Å×À̺í ÇàÀ» À妽º¿Í ¿À¹öÇÃ·Î¿ì                                          ±¸¿ªÀ¸·Î  ³ª´­ ¿­À» ÁöÁ¤(ÀÌÈÄÀÇ ¿­Àº ¸ðµÎ ¿À¹öÇ÷Π                                         ¿ì µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®¿¡ ÀúÀåµË´Ï´Ù. ÀÌ°ÍÀÌ ÁöÁ¤µÇÁö                                          ¾Ê¾Ò´Âµ¥ Çà  Å©±â°¡ PCTTHRESHOLD¸¦ ÃÊ°úÇÏ¸é ±â                                          º» Å° ¿­À» Á¦¿ÜÇÑ ¸ðµç ¿­ÀÌ ¿À¹öÇÃ·Î¿ì ±¸¿ªÀ¸·Î ¿Å                                          °ÜÁý´Ï´Ù. ÀÌ ¿­Àº ¸¶Áö¸· ±âº» Å°ÀÇ ¸¶Áö¸· ¿­ÀÇ À̸§                                          À̰ųª ±âº» Å°°¡ ¾Æ´Ñ ¿­ ÀÔ´Ï´Ù.)
   OVERFLOW                    ÁöÁ¤µÈ ÀÓ°è°ªÀ» ÃÊ°úÇÑ Index-Organized Å×ÀÌºí µ¥                                          ÀÌÅÍ ÇàÀÌ Å×ÀÌºí½ºÆäÀ̽º, ½ºÅ丮Áö¿Í ºí·Ï È°¿ë ÆÄ                                          ¶ó¹ÌÅ͸¦ ÁöÁ¤ÇÏ´Â  segment_attributes_clause¿¡ ÀÇ                                          ÇØ ÁöÁ¤µÈ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®³»¿¡ À§Ä¡Çϵµ·Ï ¸í½Ã

Á¦ÇÑ »çÇ×
Index-Organized Å×À̺íÀÇ °æ¿ì ±âº» Å°¸¦ ¹Ýµå½Ã ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±âº» Å° ¾øÀÌ Index-Organized Å×À̺íÀ» »ý¼ºÇÏ·Á ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù.
        ORA-25175: no PRIMARY KEY constraint found
PCTTHRESHOLD°¡ Á¤ÀÇµÇ°í ¿À¹öÇÃ·Î¿ì ¼¼±×¸ÕÆ®°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÓ°è°ªÀ» ÃÊ°úÇÑ ÇàÀº ´ÙÀ½°ú °°Àº ¿¡·¯¿Í ÇÔ²² °ÅºÎµË´Ï´Ù.
        ORA-01429: Index-Organized Table: no data segment to store
        overflow row-pieces


 Index-Organized  Å×À̺íÀÇ Å« ÇàÀº À妽º ³»¿¡ ÇàÀÌ ³ôÀº ¹Ðµµ·Î ÀúÀåµÇ´Â °ÍÀ» ¹æÇØÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦´Â ¿À¹öÇÃ·Î¿ì ±¸¿ªÀ» »ç¿ëÇÏ¿© ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.

Index-Organized Å×À̺íÀ» À§ÇØ »ý¼ºµÇ´Â ¼¼±×¸ÕÆ®
Index-Organized  Å×À̺íÀÌ »ý¼ºµÉ ¶§ OVERFLOW ÀýÀ» ÁöÁ¤ÇÏ¸é ´ÙÀ½ÀÌ »ý¼ºµË´Ï´Ù.
        CREATE TABLE Àý¿¡ Á¤ÀÇµÈ À̸§À» °¡Áø ¡°³í¸®Àû¡± Å×À̺í. ¸ðµç ÇàÀÌ               À妽º¿¡ ÀúÀåµÇ¹Ç·Î ÀÌ Å×ÀÌºí¿¡ ´ëÀÀµÇ´Â ¼¼±×¸ÕÆ®´Â ¾ø½À´Ï´Ù.
        ÁöÁ¤µÈ ½ºÅ丮Áö¿Í °ø°£ È°¿ë ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ¿© CREATE TABLE ¹®¿¡       Á¤ÀÇµÈ Å×ÀÌºí½ºÆäÀ̽º ³»¿¡ ±âº» Å° Á¦¾à Á¶°Ç°ú °°Àº À̸§À» °¡Áø À妽º
        ¿À¹öÇ÷οì Çà Á¶°¢À» ¼ö¿ëÇÒ Å×À̺í. ÀÌ Å×À̺íÀÇ À̸§Àº SYS_IOT_OVER_n   ÀÔ´Ï´Ù. ´Ü, nÀº DBA_OBJECTS¿¡¼­ º¼ ¼ö ÀÖ´Â index-Organized Å×À̺íÀÇ     OBJECT_IDÀÔ´Ï´Ù.

Index-Organized Å×ÀÌºí¿¡ÀÇ ¼öÇà
Index-Organized Å×ÀÌºíµµ ´Ù¸¥ Å×À̺íó·³ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Index-OrganizedÅ×ÀÌºí¿¡µµ ALTER TABLE, ANALYZE TABLE, TRUNCATE TABLE, ±×¸®°í DROP TABLE µîÀÇ ¸í·É¾î¿Í ¸ðµç DML ¸í·É¾î°¡ Áö¿øµË´Ï´Ù.

 

 Index-Organized Å×À̺í°ú ±× ±¸Á¶¿¡ °ü·ÃµÈ Á¤º¸¸¦ º¸·Á¸é ´ÙÀ½ ÁúÀǸ¦ »ç¿ëÇϽʽÿÀ.
        SVRMGR> SELECT t.table_name AS ¡°IOT¡±, o.table_name AS
        ¡°Overflow¡±,
                2>           i.index_name AS ¡°Index¡±,
        3>           o.tablespace_name AS ¡°Overflow TS¡±,
                4>           i.tablespace_name AS ¡°Index TS¡±, I.pct_threshold
                5>      FROM dba_tables t, dba_tables o, dba_indexes I
                6>      WHERE t.owner = o.owner
                7>      AND t.table_name = o.iot_name
                8>      AND t.owner = I.owner
                9>      AND t.table_name = I.table_name
         1      0>      AND t.owner = ¡®SCOTT¡¯;
                                             Index
IOT   Overflow          Index    Overflow TS TS      PCT_THRESHOLD
----- ----------------- -------- ----------- ------  -------------
SALES SYS_IOT_OVER_2049 SALES_PK DATA02      DATA01             20

 


 ¿ä¾àÂüÁ¶

 °ü·Ã³»¿ë

 Reference

 ÃʱâÈ­ ÆĶó¹ÌÅÍ

 ¾ø½¿

 µ¿Àû ¼º´É ºä

 ¾ø½¿

 µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä

 DBA_CLUSTERS
 DBA_TAB_COLUMNS
 DBA_CLU_COLUMNS
 DBA_CLUSTER_HASH_EXPRESSIONS
 DBA_TABLES
 DBA_INDEXES

 ¸í·É¾î

 CREATE CLUSTER
 CREATE INDEX ... ON CLUSTER
 CREATE CLUSTER ... HASHKEYS ... HASH IS ...
 ALTER CLUSTER
 TRUNCATE CLUSTER
 DROP CLUSTER
 CREATE TABLE ... ORGANIZATION INDEX

 CLUSTER¿¡ ´ëÇÑ ¼³¸íÁß Æ²¸° °ÍÀº?
A. µÎ Å×À̺íÀ» join ÇÒ ¶§ È¿°úÀûÀÌ´Ù.
B. À妽º Ŭ·¯½ºÅÍ¿Í Çؽ¬ Ŭ·¯½ºÅÍ°¡ ÀÖ´Ù.
C. Çؽ¬ Ŭ·¯½ºÅÍ´Â µ¿µîºñ±³( = )¿¡ À¯¸®ÇÏ´Ù.
D. À妽º Ŭ·¯½ºÅ͸¦ ¸¸µé ¶§´Â ¹Ýµå½Ã Å×À̺íÀ» ¸ÕÀú ¸¸µç ´ÙÀ½ Ŭ·¯½ºÅ͸¦ ³ªÁß¿¡ »ý¼ºÇÑ´Ù.
´ä

X Á¤´ä:D


X Á¤´ä:D


X Á¤´ä:B


X Á¤´ä:B