µ¥ÀÌÅÍ ¼³°è ´Ü°è
¾ÖÇø®ÄÉÀ̼ÇÀÌ ÇÊ¿ä·Î ÇÏ´Â µ¥ÀÌÅ͸¦ °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ¼º´É ¸ñÇ¥¸¦
ÃÖ»óÀ¸·Î ´Þ¼ºÇϱâ À§Çؼ´Â Á¤º¸¸¦ ü°èÈÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
µ¥ÀÌÅͺ£À̽ºÀÇ ¹°¸®Àû ±¸Á¶
ÀÌ°ÍÀº ÁÖ·Î ´ÙÀ½°ú °ü·ÃÀÌ ÀÖ½À´Ï´Ù:
ÀüÇüÀûÀÎ OLTP ¾ÖÇø®ÄÉÀ̼Ç
¿ä±¸»çÇ×
Ư¼º
ÀÇ»ç°áÁ¤ Áö¿ø ¾ÖÇø®ÄÉÀ̼ÇÀº ´ë¿ë·®ÀÇ Á¤º¸¸¦ ÀÌÇØÇϱ⠽¬¿î º¸°í¼·Î
¸¸µì´Ï´Ù.
ÀÌµé ¾ÖÇø®ÄÉÀ̼ÇÀº OLTP ½Ã½ºÅÛÀ¸·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ¼öÁýÇϸç, ¿ä¾à ³»¿ëÀ» »ç¿ëÇÏ°í, °Ë»öÇÏ¿© ÃÑÇÕÀ» °è»êÇÕ´Ï´Ù. À̵é
¾ÖÇø®ÄÉÀ̼ÇÀº ¾×¼¼½º ¹æ¹ýÀ¸·Î¼ Àüü Å×ÀÌºí ½ºÄµÀ» ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù.
Á¶Á÷ ³»¿¡¼ ÀÇ»ç°áÁ¤ÀÚ´Â ÀÌ µ¥ÀÌÅ͸¦ »ç¿ëÇÏ¿© Á¶Á÷ÀÌ ÃëÇؾß
ÇÒ Àü·«À» °áÁ¤ÇÕ´Ï´Ù.
¿¹: ¸¶ÄÉÆà ÅøÀº ¾î´À Ç°¸ñÀÌ ¾îµð¿¡¼ °¡Àå Àß ÆǸŵǴ°¡¸¦ °áÁ¤Çϱâ À§ÇÏ¿© Àα¸Åë°èÀû
µ¥ÀÌÅͷκÎÅÍ ¼öÁýµÈ Á¤º¸¿¡ ±âÃÊÇÏ¿© ¼ÒºñÀÚÀÇ ±¸¸Å ÆÐÅÏÀ» °áÁ¤ÇÕ´Ï´Ù.
¿ä±¸»çÇ×
ÇÏÀ̺긮µå ½Ã½ºÅÛ
¸¹Àº ¾ÖÇø®ÄÉÀ̼ǵéÀº ±¸¼º ¹æ¹ý°ú ¿À¶óŬ ¿É¼Ç¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀÌ ¼öÇàÇÏ´Â È°µ¿ÀÇ À¯ÇüÀ» Á¤ÇÏ°í, ¾ÖÇø®ÄÉÀ̼ǿ¡ °¡Àå ÀûÇÕÇÑ ±â´ÉÀ» Á¤ÇØ¾ß ÇÕ´Ï´Ù.
OLTP µ¥ÀÌÅͺ£À̽º¿¡¼ ¼öÁýµÈ
µ¥ÀÌÅ͸¦ ÁúÀǸ¸ ¼öÇàÇÒ DSS µ¥ÀÌÅͺ£À̽º·Î º¹»çÇÔÀ¸·Î½á ¸ð¼øµÇ´Â ¸ñÇ¥µéÀÇ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, ÀÌ ¿¹¸¦ »ç¿ëÇϱâ À§Çؼ´Â
DSS ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ Á¤È®¼ºÀ» ¸ñÇ¥·Î ÇØ¾ß ÇÕ´Ï´Ù.
µû¶ó¼, °¡Àå Áß¿äÇÑ ¸ñÇ¥¸¦ °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
À妽º, IOT ¹× Ŭ·¯½ºÅÍ
À̵éÀº ÇÊ¿äÇÑ °æ¿ì DBA°¡ »ý¼ºÇÏ´Â ³í¸®ÀûÀÎ µ¥ÀÌÅÍ
±¸Á¶ÀÔ´Ï´Ù.
È÷½ºÅä±×·¥
À̵éÀº SQL ¹®ÀÇ ½ÇÇàÀ» Æ©´×Çϱâ À§ÇÏ¿© ANALYZE ¸í·É¿¡ ÀÇÇØ
¼öÁýµÇ°í, µñ¼Å³Ê¸® ºä¿¡ ÀúÀåµÇ¸ç, Cost Based Optimizer¿¡ ÀÇÇØ »ç¿ëµÇ´Â Åë°èÀÔ´Ï´Ù.
B - Tree À妽º »ý¼º ½Ã±â
B - Tree À妽º´Â Å×ÀÌºí¿¡¼ ÀûÀº ºñÀ²ÀÇ
ÇàÀ» ¼±ÅÃÇÏ´Â ÁúÀÇÀÇ ¼º´ÉÀ» Çâ»ó½Ãŵ´Ï´Ù. ÀϹÝÀûÀÎ GuidelineÀ¸·Î¼, Å×À̺í ÇàÀÇ 10 - 15% º¸´Ù Àû°Ô ÁúÀǵǴ Å×ÀÌºí¿¡ À妽º¸¦
»ý¼ºÇØ¾ß ÇÕ´Ï´Ù. ÀÌ °ªÀº ¸ðµç µ¥ÀÌÅÍ°¡ ÇÑ À妽º·ÎºÎÅÍ °Ë»öµÇ°Å³ª À妽ºµÈ ¿ÀÌ ´Ù¸¥ Å×À̺íµé¿¡ Á¶ÀÎÇϱâ À§ÇÏ¿© »ç¿ëµÉ ¼ö ÀÖ´Â »óȲ¿¡¼´Â
º¸´Ù ³ôÀ» ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÁöħÀº ´ÙÀ½°ú °°Àº °¡Á¤¿¡ ÀÇ°ÅÇÑ °ÍÀÔ´Ï´Ù:
À妽º Áõ°¡ ¹æ¹ý
À妽º´Â Ç×»ó ±ÕÇüÀÌ À¯ÁöµÇ°í »óÇâ½ÄÀ¸·Î
Áõ°¡ÇÕ´Ï´Ù.
Å°°¡ ´ÜÁ¶·Ó°Ô Áõ°¡ÇÏ´Â »óȲ¿¡¼´Â, À妽º ·¹º§(BLEVEL)ÀÌ »ó½ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇàÀÌ Ãß°¡µÊ¿¡ µû¶ó, »õ·Î¿î
¿£Æ®¸®µéÀÌ À妽º ¿À¸¥ÂÊ¿¡ Ãß°¡µÇ±â ¶§¹®ÀÔ´Ï´Ù. °¡Àå ¿À¸¥ÂÊÀÇ ¸®ÇÁ(leaf) ºí·ÏÀÌ °¡µæ Â÷¸é, ¿À¶óŬÀº 2°³ÀÇ ºí·ÏÀ¸·Î ºÐÇÒÇÏ°í 50%´Â
¿ø·¡ÀÇ ¸®ÇÁ ºí·Ï¿¡ ³õ°í 50%´Â »õ ¸®ÇÁ ºí·Ï¿¡ ³õ½À´Ï´Ù. »õ·Î¿î ¿£Æ®¸®/Æ÷ÀÎÅÍ´Â °¡Àå ¿À¸¥ÂÊ ºÐ±â(branch) ºí·Ï¿¡ Ãß°¡µË´Ï´Ù.
ÀÌ ÆÐÅÏÀº ÇàÀÌ »ðÀԵʿ¡ µû¶ó, °¡Àå ¿À¸¥ÂÊ ºÐ±â ºí·ÏÀÌ °¡µæ Â÷¼ 2°³·Î ºÐÇҵǾî¾ß ÇÒ ¶§±îÁö °è¼ÓÇÏ¿©
¹Ýº¹µË´Ï´Ù.
ÀÌ ¸¶Áö¸· ÆÐÅÏÀº ·çÆ®(root) ºí·ÏÀÎ °¡Àå »óÀ§ÀÇ ºí·ÏÀÌ ºÐ±â ºí·ÏÀÇ Ã¹¹ø° ·¹º§¿¡ Æ÷ÀÎÅ͸¦ ´õ ÀÌ»ó Æ÷ÇÔ½Ãų ¼ö
¾øÀ» ¶§±îÁö °è¼ÓÇÏ¿© ¹Ýº¹µË´Ï´Ù. ¿À¶óŬÀº ·çÆ® ºí·ÏÀ» ºÐÇÒÇÏÁö ¾Ê±â ¶§¹®¿¡, »õ ·¹º§ÀÇ ºÐ±â ºí·ÏÀ» Ãß°¡ÇÕ´Ï´Ù.
À妽ºÀÇ ±íÀÌ°¡
±í¾î Áú¼ö·Ï, È¿À²¼ºÀÌ °¨¼ÒµË´Ï´Ù.
B - TreeÀÇ BLEVELÀ» °¡´ÉÇϸé 4 ÀÌÇÏ·Î ³·°Ô À¯ÁöÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
ÀÌ¿¡
°üÇÑ Á¤º¸¸¦ ¾ò±â À§ÇÏ¿©, *_INDEXES µñ¼Å³Ê¸® ºä¿¡ ÀÖ´Â Åë°èÀڷḦ ¼öÁýÇÏ¿© BLEVEL ¿¿¡ ÀúÀåÇÏ´Â ANALYZE ¸í·ÉÀ»
½ÇÇà½ÃÅ°½Ê½Ã¿À.
SQL>
ANALYZE INDEX i_name COMPUTE STATISTICS;
B - Tree À妽º ¼º´É °¨¼Ò ¹®Á¦ ÇØ°á ¹æ¹ý
¿¹: ÀÌ ¿¹´Â EMP Å×À̺íÀÇ JOB ¿°ú °ü·ÃµÇ¾î ÀÖ½À´Ï´Ù.
EMP Å×À̺í |
ºñÆ®¸Ê À妽º | |||
EMPNO |
JOB |
Job='CLERK¡¯ |
Job=' MANAGER' |
Job=' ANALYST' |
8000 |
MANAGER |
0 |
1 |
0 |
8001 |
ANALYST |
0 |
0 |
1 |
8002 |
CLERK |
1 |
0 |
0 |
ºñÆ®¸Ê À妽º »ý¼º ½Ã±â
¼º´É °í·Á»çÇ×
À¯Áö ½Ã °í·Á»çÇ×
DSS ȯ°æ¿¡¼, ÀϹÝÀûÀ¸·Î µ¥ÀÌÅÍ´Â ´ë·®ÀÇ »ðÀÔ ¹× °»½ÅÀ»
ÅëÇÏ¿© À¯ÁöµË´Ï´Ù. À妽º À¯Áö´Â °¢ DML ÀÛ¾÷ÀÌ Á¾·áµÉ ¶§±îÁö ¿¬±âÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ºñÆ®¸Ê À妽º, ºñÆ®¸Ê Çà Á¤º¸ ¹× rowid Á¤º¸°¡ ÀÖ´Â
Å×ÀÌºí¿¡ 1000 ÇàÀ» »ðÀÔÇÒ °æ¿ì, »ðÀÔµÈ ÇàÀÌ Á¤·Ä ¹öÆÛÀÇ ÂüÁ¶¿¡ À§Ä¡ÇÑ ´ÙÀ½, ¸ðµç 1000°³ÀÇ À妽º ¿£Æ®¸®°¡ ¹èÄ¡·Î
°»½ÅµË´Ï´Ù.
ÀÌ°ÍÀÌ SORT_AREA_SIZE°¡ ºñÆ®¸Ê À妽º¿¡¼ »ðÀÔ ¹× °»½ÅÀ¸·Î ÁÁÀº ¼º´ÉÀ» À§ÇØ ÀûÀýÇÏ°Ô ¼³Á¤µÇ¾î¾ß ÇÏ´Â ÀÌÀ¯ÀÔ´Ï´Ù. µû¶ó¼,
¼¼±×¸ÕÆ® ³» Çϳª ÀÌ»óÀÇ row°¡ º¯°æµÇ´õ¶óµµ, °¢ ºñÆ®¸Ê ¼¼±×¸ÕÆ®´Â DML ´ç Çѹø¸¸ °»½Å µË´Ï´Ù.
ºñÆ®¸Ê À妽º¿¡ ´ëÇÑ ÃʱâÈ ÆĶó¹ÌÅÍ
´ÙÀ½ 2°³ÀÇ ÃʱâÈ ÆĶó¹ÌÅÍ´Â ¼º´É¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù:
Á¤ÀÇ
¸®¹ö½º Å° À妽º¸¦ »ý¼ºÇÏ¸é º¹ÇÕ Å°ÀÇ °æ¿ì ¿ ¼ø¼¸¦ À¯ÁöÇÏ¸é¼ °¢ ¿ Å°
°ªÀÇ ¹ÙÀÌÆ®°¡ ¿ªÀ¸·Î µË´Ï´Ù.
¸®¹ö½º Å° À妽º »ý¼º ½Ã±â
Áõ°¡ÇÏ´Â Å°(¼ÛÀåÀ̳ª Á÷¿ø ¶Ç´Â ÁÖ¹® ¹øÈ£¿Í °°Àº ½ÃÄö½º ¹øÈ£)°¡ À妽º BLEVELÀ» ¹Ýº¹ÇÏ¿© ³·Ãâ °æ¿ì, À妽º ¿£Æ®¸®¸¦
´õ ±ÕµîÇÏ°Ô ºÐ»ê½ÃÄÑ °Á¦ ºí·Ï ºÐÇÒÀ» ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÜÁ¡
¾ÖÇø®ÄÉÀÌ¼Ç ¹®ÀåÀÌ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¶§, explain planÀÌ Àüü µ¥À̺í
½ºÄµÀ» »ý¼ºÇÕ´Ï´Ù.
µñ¼Å³Ê¸® ºä
´ÙÀ½ÀÇ ÁúÀǸ¦ »ç¿ëÇÏ¿© ¸ðµç ¸®¹ö½º Å° À妽ºÀÇ À̸§À»
³ª¿ÇÕ´Ï´Ù:
SQL> select index_name,
index_type
2 from
dba_indexes
3 where index_name =
¡®ORD_ORD_NO_IDX¡¯;
INDEX_NAME
INDEX_TYPE
------------------
------------
ORD_ORD_NO_IDX
NORMAL/REV
Á¤ÀÇ
Index-organized Å×À̺íÀº Çϳª ÀÌ»óÀÇ ¿¿¡ À妽º¸¦ °®°í ÀÖ´Â ÀÏ¹Ý Å×À̺í°ú
°°Áö¸¸, Å×À̺í°ú B-Tree À妽º¿¡ ´ëÇØ 2°³ÀÇ º°µµÀÇ ¼¼±×¸ÕÆ®¸¦ À¯ÁöÇÏÁö ¾Ê°í, µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀº ´ÙÀ½ÀÇ 2°¡Áö
¸ðµÎ¸¦ Æ÷ÇÔÇÏ´Â ÇϳªÀÇ B-Tree À妽º¸¦ À¯ÁöÇÕ´Ï´Ù:
¼º´É ÀÌÁ¡
Index-organized Å×ÀÌºí »ý¼º ½Ã±â
Index-organized Å×À̺íÀº
±âº» Å°(primary key)¸¦ ÅëÇϰųª, ÅؽºÆ® °Ë»ö¿¡¼ »ç¿ëµÇ´Â ¿ª À妽º¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡¼¿Í °°ÀÌ ±âº» Å°(primary
key)ÀÇ prefixÀÎ Å°¸¦ ÅëÇؼ µ¥ÀÌÅÍ¿¡ ºó¹øÇÏ°Ô ¾×¼¼½ºÇϱ⿡ ÀûÇÕÇÕ´Ï´Ù. À̵é À妽º´Â °ª°ú ¸ðµç À§Ä¡¸¦ ÇÔ²² º¸°üÇÕ´Ï´Ù. µû¶ó¼, °¢
¿öµå´Â ÇϳªÀÇ ¿£Æ®¸®¸¦ °®°í ÀÖ°í, ¿£Æ®¸®´Â ¿öµå°¡ ¹ß»ýÇÏ´Â ¸ðµç À§Ä¡¸¦ ±â·ÏÇÕ´Ï´Ù. À妽º·Î ±¸¼ºµÈ Å×À̺íÀº ¿ª À妽º¸¦ ¸ðµ¨¸µÇϴµ¥ ¸Å¿ì
È¿À²ÀûÀÎ ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù.
PCTTHRESHOLD, INCLUDING Àý°ú ¿À¹öÇÃ·Î¿ì ¼¼±×¸ÕÆ®
PCTTHRESHOLD Àý
ÀÌ ÀýÀº À妽º·Î ±¸¼ºµÈ Å×À̺í Çà¿¡ ´ëÇÑ À妽º ºí·Ï ³»¿¡ ÀúÀåµÈ
°ø°£ÀÇ ºñÀ²À» ÁöÁ¤ÇÕ´Ï´Ù. ÇàÀÌ ÀÌ °ªÀ» ±âº»À¸·Î ÇÏ¿© °è»êµÈ Å©±â¸¦ ÃÊ°úÇÒ °æ¿ì, INCLUDING Àý¿¡ À̸§ÀÌ ÀÖ´Â ¿ ´ÙÀ½ÀÇ ¸ðµç ¿Àº
¿À¹öÇÃ·Î¿ì ¼¼±×¸ÕÆ®·Î À̵¿µË´Ï´Ù. OVERFLOW°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é, ÇÑ°è°ªÀ» ÃÊ°úÇÏ´Â ÇàÀº °ÅºÎµË´Ï´Ù. PCTTHRESHOLD µðÆúÆ®´Â
50ÀÌ°í 0 - 50 ÀÇ °ªÀ̾î¾ß ÇÕ´Ï´Ù.
INCLUDING Àý
ÀÌ ÀýÀº À妽º·Î ±¸¼ºµÈ Å×À̺í ÇàÀ» À妽º¿Í ¿À¹öÇÃ·Î¿ì ºÎºÐÀ¸·Î ºÐÇÒÇϱâ
À§ÇÑ ¿À» ÁöÁ¤ÇÕ´Ï´Ù. INCLUDING Å°¿öµå ´ÙÀ½ÀÇ ¸ðµç ¿Àº ¿À¹öÇÃ·Î¿ì µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®¿¡ ÀúÀåµË´Ï´Ù. ÀÌ°ÍÀÌ
ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê°í Çà Å©±â°¡ PCTTHRESHOLD¸¦ ÃÊ°úÇÒ °æ¿ì, ±âº» Å°¸¦ Á¦¿ÜÇÑ ¸ðµç ¿Àº ¿À¹öÇÃ·Î¿ì ¿µ¿ªÀ¸·Î À̵¿µÉ °ÍÀÔ´Ï´Ù. ¿Àº
¸¶Áö¸· ±âº» Å° ¿ÀÇ À̸§À̳ª ¾î¶°ÇÑ ±âº» Å°ÀÇ À̸§ÀÌ¶óµµ µÉ ¼ö ÀÖ½À´Ï´Ù.
OVERFLOW Àý°ú ¼¼±×¸ÕÆ®
ÀÌ ÀýÀº ÁöÁ¤µÈ ÇÑ°è °ªÀ» ÃÊ°úÇÏ´Â À妽º·Î ±¸¼ºµÈ Å×ÀÌºí µ¥ÀÌÅÍ
ÇàÀÌ Å×ÀÌºí½ºÆäÀ̽º, ÀúÀå°ø°£ ¹× ºí·Ï ÀÌ¿ë ÆĶó¹ÌÅ͸¦ ÁöÁ¤ÇÏ´Â ¼¼±×¸ÕÆ® ¼Ó¼º¿¡ ÀÇÇÏ¿© Á¤ÀÇµÈ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ® ³»¿¡ À§Ä¡Çϵµ·Ï
ÁöÁ¤ÇÕ´Ï´Ù.
Á¤ÀÇ
Ŭ·¯½ºÅÍ´Â µ¿ÀÏÇÑ Å×ÀÌÅÍ ºí·ÏÀ» °øÀ¯ÇÏ´Â Çϳª ÀÌ»óÀÇ Å×À̺í
±×·ìÀ¸·Î¼, µ¿ÀÏÇÑ µ¥ÀÌÅÍ ºí·ÏÀº °øÅë ¿µéÀ» °øÀ¯ÇÏ°í Á¾Á¾ Á¶ÀÎ ÁúÀÇ¿¡¼ ÇÔ²² »ç¿ëµË´Ï´Ù.
¼º´É ÀÌÁ¡
¼º´É °í·Á»çÇ×
ÀϹÝÀûÀ¸·Î Àüü Å×ÀÌºí ½ºÄµÀº Ŭ·¯½ºÅ͵ÇÁö ¾ÊÀº Å×ÀÌºí¿¡¼º¸´Ù´Â
Ŭ·¯½ºÅÍµÈ Å×ÀÌºí¿¡¼ ¼Óµµ°¡ ´õ ´À¸³´Ï´Ù.
À妽º Ŭ·¯½ºÅÍ
À妽º Ŭ·¯½ºÅʹ Ŭ·¯½ºÅÍ À妽º¶óÇÏ´Â À妽º¸¦ »ç¿ëÇÏ¿©
Ŭ·¯½ºÅÍ ³»¿¡ µ¥ÀÌÅ͸¦ À¯ÁöÇÕ´Ï´Ù:
Çؽà Ŭ·¯½ºÅÍ
Çؽà Ŭ·¯½ºÅÍ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÇàÀÇ À§Ä¡¸¦ °è»êÇÕ´Ï´Ù. Çؽà ÇÔ¼ö´Â
Ŭ·¯½ºÅÍ Å°¸¦ »ç¿ëÇϸç, »ç¿ëÀÚ°¡
Á¤ÀÇÇϰųª ½Ã½ºÅÛ¿¡ ÀÇÇØ »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù.
ÇàÀÌ Çؽà Ŭ·¯½ºÅÍ ³»ÀÇ Å×ÀÌºí¿¡ »ðÀ﵃ ¶§:
Çؽà ÇÔ¼ö´Â Çؽà Å×À̺í·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °Ë»öÇÏ´Â µ¿¾È ÇàÀÇ À§Ä¡¸¦ Á¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
Ŭ·¯½ºÅÍ Å°¸¦ »ç¿ëÇÏ´Â µ¿µî °Ë»ö¿¡
´ëÇØ, Çؽà Ŭ·¯½ºÅÍ´Â À妽º Ŭ·¯½ºÅÍ º¸´Ù ¶Ù¾î³ ¼º´ÉÀ» Á¦°øÇÕ´Ï´Ù:
Ŭ·¯½ºÅ͸¦ »ç¿ëÇؼ´Â ¾È µÇ´Â °æ¿ì
Çؽà Ŭ·¯½ºÅ͸¦ »ç¿ëÇؼ´Â ¾È µÇ´Â °æ¿ì
Á¤ÀÇ
±ÕµîÇÏ°Ô ºÐ»êµÈ µ¥ÀÌÅÍ¿¡ ´ëÇØ, ¿ø°¡ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú´Â ƯÁ¤ ¹®ÀåÀ» ½ÇÇàÇϴµ¥
¼Ò¿äµÇ´Â ¿ø°¡¸¦ Á¤È®ÇÏ°Ô ÃßÃøÇÕ´Ï´Ù. ±×·¯³ª, µ¥ÀÌÅÍ°¡ ±ÕµîÇÏ°Ô ºÐ»êµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ¿ÉƼ¸¶ÀÌÀú´Â ÁúÀÇÀÇ ¼±ÅüºÀ» Á¤È®ÇÏ°Ô
ÃßÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì, È÷½ºÅä±×·¥Àº ƯÁ¤ ¿ÀÇ ºÐ¹è¸¦ ¼³¸íÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
È÷½ºÅä±×·¥À» »ç¿ëÇØ¾ß ÇÒ °æ¿ì
WHERE Àý¿¡¼ ºó¹øÇÏ°Ô »ç¿ëµÇ´Â ¿°ú À妽ºµÈ ¿¿¡¼, ±×¸®°í µ¥ÀÌÅÍ°¡ ¸Å¿ì ºñ´ëĪÀûÀ¸·Î ºÐ»êµÇ¾î ÀÖ´Â
°æ¿ì.
È÷½ºÅä±×·¥À» »ç¿ëÇؼ´Â ¾È µÇ´Â °æ¿ì
È÷½ºÅä±×·¥ Åë°è¸¦ »ý¼ºÇÏ´Â ¹æ¹ý
SQL>
ANALYZE TABLE emp COMPUTE STATISTICS FOR COLUMNS sal
2 SIZE 10;
SQL>
ANALYZE TABLE t1 COMPUTE STATISTICS FOR ALL INDEXED COLUMNS;
SIZE ÀýÀº ¹öŶÀÇ ÃÖ´ë ¼ö¸¦ Á¤ÇÕ´Ï´Ù.
¿¿¡¼ ¹ß»ýÇÏ´Â µ¿ÀÏÇÏÁö ¾ÊÀº °ªÀÇ ¼ö°¡ »ó´ëÀûÀ¸·Î
ÀûÀ» °æ¿ì, ºó¹øÇÏ°Ô ¹ß»ýÇÏ´Â °ªÀÇ ¼ö º¸´Ù Å« ¼ö·Î ¹öŶ¼ö¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ À¯¿ëÇÕ´Ï´Ù.
ÁÖÀÇ : °ü½É ÀÖ´Â
¿¿¡ ´ëÇؼ¸¸ Åë°èÁ¤º¸¸¦ ¼öÁýÇϵµ·Ï ÇÏ¿© Åë°èÀÇ ¾çÀ» °¨¼Ò½ÃÅ°½Ê½Ã¿À:¿¹¸¦µé¾î Á¶ÀÎ Á¶°Ç¿¡¼ »ç¿ëµÇ´Â ¿¿¡ ´ëÇÏ¿© ANALYZE ¡¦ FOR
COLUMNS ¶Ç´Â ANALYZE ¡¦ FOR ALL INDEXED COLUMNS °°Àº ¸í·É¾î¸¦ »ç¿ëÇϽʽÿÀ.
ANALYZE ¡¦
SIZE n ¸í·É¾î´Â ¸ðµç °ü·ÃµÈ ¿¿¡ ´ëÇÏ¿© È÷½ºÅä±×·¥À» »ý¼ºÇÕ´Ï´Ù. ÀÌ ¹®Àå°ú FOR ALL INDEXED COLUMNS¸¦ ÇÔ²² »ç¿ëÇÏ´Â
°æ¿ì, ±âº»Å°¿Í À¯ÀÏÅ° Á¦¾àÁ¶°ÇÀ» °¡Áø Ä÷³¿¡ ´ëÇÑ ºÒÇÊ¿äÇÑ È÷½ºÅä±×·¥ÀÌ »ý¼ºµË´Ï´Ù.
µñ¼Å³Ê¸® ºä
À妽Ì
Çؽà Ŭ·¯½ºÅ͸µ
|
·Ñ¹é ¼¼±×¸ÕÆ® °í·Á»çÇ×
Æ®·£Àè¼ÇÀº ª¾Æ¾ß Çϴµ¥, ÀÌ°ÍÀº ·Ñ¹é ¼¼±×¸ÕÆ®
±¸¼º¿¡ Áß¿äÇÕ´Ï´Ù:
·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Á¤È®ÇÑ ¼ö¸¦ ¾ò±â À§ÇÏ¿©, Æ®·£Àè¼Ç ÆÐÅÏÀ» ¾Ë ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ½Ã½ºÅÛÀÇ ´ÙÀ½ Ư¼ºÀ» °í·ÁÇϽʽÿÀ:
ƯÁ¤ ½Ã°£¿¡ 8°Ç ÀÌ»óÀÇ Æ®·£Àè¼ÇÀÌ È°µ¿ÇÒ °¡´É¼ºÀº ¸Å¿ì ³·À¸¹Ç·Î, 8°³ÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®¸é
ÃæºÐÇÕ´Ï´Ù.
·Ñ¹é ¼¼±×¸ÕÆ® extent Å©±â´Â »ó´ëÀûÀ¸·Î ÀÛÀ» ¼ö ÀÖ½À´Ï´Ù (À̵é ÀÛÀº Æ®·£Àè¼ÇÀÌ ½Ã½ºÅÛ¿¡¼ À¯ÀÏÇÑ Æ®·£Àè¼ÇÀ̶ó¸é
100k).
ÀÛÀº µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ´Â Àû¾îµµ 10À», ´õ Å« µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ´Â 20À» MINEXTENTS·Î ¼³Á¤ÇÒ ÇÊ¿ä°¡
ÀÖ½À´Ï´Ù. ±× ÀÌÀ¯´Â ´ÙÀ½°ú °°½À´Ï´Ù:
¹«°á¼º Á¦¾àÁ¶°Ç
¾ÖÇø®ÄÉÀÌ¼Ç ³í¸®¸¦ ÇÁ·Î½ÃÀú Äڵ忡 º¸°üÇÏ´Â °Í°ú ¼±¾ðÀû Á¦¾àÁ¶°ÇÀ»
»ç¿ëÇÏ´Â °Í Áß¿¡¼ ¼±ÅÃÇØ¾ß ÇÏ´Â °æ¿ì, Ç×»ó Á¦¾àÁ¶°ÇÀÌ ÇÁ·Î¼¼½ºº¸´Ù ºñ¿ëÀÌ ´ú µç´Ù´Â »ç½ÇÀ» ¸í½ÉÇϽʽÿÀ. ÂüÁ¶ ¹«°á¼º°ú CHECK Á¦¾àÁ¶°ÇÀº
¿©±â¼ °í·ÁÇØ¾ß ÇÒ ÁÖ¿ä À¯ÇüÀÔ´Ï´Ù.
°øÀ¯ ÄÚµå
±×·¸Áö ¾Ê´Ù¸é, Äڵ尡 ÆÐÅ°Áö, ÇÁ·Î½ÃÀú, ÇÔ¼ö¿Í °°Àº ÀúÀå ÇÁ·Î½ÃÀú
°´Ã¼¿¡ ÀÇÇØ °øÀ¯µÇ°í ÀÖ³ª¸¦ È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
¹ÙÀÎµå º¯¼ö
±¸¹®ºÐ¼®ÀÇ ¿À¹öÇìµå¸¦ ÃÖ¼Ò·Î À¯ÁöÇÏ°íÀÚ
ÇÒ °æ¿ì, ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ尡 ¸®ÅÍ·²(literal) ´ë½Å ¹ÙÀÎµå º¯¼ö¸¦ »ç¿ëÇϵµ·Ï
ÇϽʽÿÀ.
DB_BLOCK_SIZE¿Í
DB_FILE_MULTIBLOCK_READ_COUNT
ÀϹÝÀûÀ¸·Î
DB_BLOCK_SIZE ÆĶó¹ÌÅ͸¦ ½Ã½ºÅÛ¿¡¼ Áö¿øµÇ´Â ÃÖ´ë°ªÀ¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ°Í ¶§¹®¿¡ Å« µ¥ÀÌÅͺ£À̽º¸¦ Àç»ý¼ºÇÏ°Ô µÇ´õ¶óµµ, ´õ Å«
ºí·Ï »çÀÌÁî°¡ DSS ¾ÖÇø®ÄÉÀÌ¼Ç Æ¯¼ºÀÇ Àбâ ÁýÁß ÀÛ¾÷À» ½±°Ô Çϱ⠶§¹®¿¡ ºÐ¸íÇÑ ¼º°ú°¡ ÀÖ½À´Ï´Ù.
DB_FILE_MULTIBLOCK_READ_COUNT ÆĶó¹ÌÅÍÀÇ ¼³Á¤¿¡ Ưº°È÷ ÁÖÀÇÇϽʽÿÀ. ÀÌ ÆĶó¹ÌÅÍ´Â Àüü Å×ÀÌºí ½ºÄµ µ¿¾È
´ÜÀÏ ¿î¿µÃ¼Á¦ Àбâ È£Ãâ¿¡ ÀÇÇؼ ÀÐÇôÁö´Â µ¥ÀÌÅͺ£À̽º ºí·Ï ¼ö¸¦ °áÁ¤ÇÕ´Ï´Ù: 8k ºí·Ï Å©±â¿¡´Â 8, 16k ºí·Ï Å©±â¿¡´Â
4.
Å« °ªÀ¸·Î ¼³Á¤Çϸé Å×ÀÌºí ½ºÄµ ºñ¿ëÀÌ Àû°Ô µé°í ÁÖ·Î À妽º·Î Å×À̺íÀ» ½ºÄµÇÕ´Ï´Ù.
À妽Ì
À妽º À¯ÁöÀÇ °ø°£ ¹× ¼º´É ¿À¹öÇìµå¸¦ ÃÖ¼ÒÈÇÒ ¼ö ÀÖ´Â
¹æ¹ýÀ» °í·ÁÇϽʽÿÀ. ´ëºÎºÐÀÇ ÁúÀÇ°¡ Àüü µ¥ÀÌºí ½ºÄµÀ» »ç¿ëÇϱ⠶§¹®¿¡, ´ÙÀ½ÀÇ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù:
Ŭ·¯½ºÅ͸µ
Ŭ·¯½ºÅ͸¦ Àç»ý¼ºÇØ¾ß ÇÒ °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì¸¦
Á¦¿ÜÇÏ°í´Â, µÎ °¡Áö À¯ÇüÀÇ Å¬·¯½ºÅÍ ¸ðµÎ °í·ÁµÇ¾î¾ß ÇÕ´Ï´Ù. ƯÈ÷, ¸¹Àº µ¥ÀÌÅ͸¦ ·ÎµåÇÏ´Â µ¿¾È ±ÔÄ¢ÀûÀ¸·Î Áõ°¡ÇÏ´Â Å×À̺íÀº Á¦¿ÜÇÏ°í ÃÖ»óÀÇ
¾×¼¼½º ¼º´ÉÀ» À§Çؼ´Â Çؽà Ŭ·¯½ºÅ͸¦ °í·ÁÇØ¾ß ÇÕ´Ï´Ù
±¸¹®ºÐ¼® ½Ã°£
SELECT ¹®À» ±¸¹®ºÐ¼®Çϴµ¥ ¼Ò¿äµÇ´Â ½Ã°£Àº ÁúÀÇ ½ÇÇà¿¡ ¼Ò¿äµÇ´Â
½Ã°£ Áß ÀϺο¡ ºÒ°úÇÕ´Ï´Ù. ¶óÀ̺귯¸® ij½¬¸¦ Æ©´×ÇÒ °æ¿ì, OLTP º¸´Ù´Â DSS¿¡ ´ëÇÑ À̽´°¡ ÈξÀ Àû½À´Ï´Ù.
½ÇÇà °èȹ¿¡¼
ÃÖÀûÀÇ ¾×¼¼½º °æ·Î°¡ ÃÖ¿ì¼±ÀÔ´Ï´Ù: ÀûÀº º¯µ¿»çÇ×ÀÌ ¼öºÐ ¶Ç´Â ¼ö½Ã°£ÀÇ ºñ¿ëÀ» ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼, °³¹ßÀÚ´Â ¹Ýµå½Ã ´ÙÀ½À» ÁöÄѾß
ÇÕ´Ï´Ù:
¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ÀÌ ¹ÙÀÎµå º¯¼ö¸¦ »ç¿ëÇÒ °æ¿ì, ÀÌ·¯ÇÑ ±â´ÉÀÇ ÀÌÁ¡À» ¾òÁö ¸øÇÕ´Ï´Ù. ¿ÉƼ¸¶ÀÌÀú´Â ¿ ¼±Åüº¿¡ °üÇÏ¿©
ÃÑ°ýÀûÀ¸·Î °¡Á¤ÇÏÁö¸¸, ¸®ÅÍ·²(literal)ÀÌ ÀÖ´Â Cost Based Optimizer(¿ø°¡ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú)´Â È÷½ºÅä±×·¥À» »ç¿ëÇÕ´Ï´Ù.
¿¹: ´ÙÀ½ ¹®ÀåÀ» ½ÇÇàÇÒ °æ¿ì, ¿ÉƼ¸¶ÀÌÀú°¡ ½ÇÇà °èȹÀ» °áÁ¤ÇÒ ¶§
:1ÀÇ °ªÀº ¾ËÁö ¸øÇÕ´Ï´Ù.
SQL> SELECT * FROM
big_table
2 WHERE
number_column = :1;
¿ÉƼ¸¶ÀÌÀú´Â ÀÌ ´Ü°è¿¡¼ ¹ÝȯÇÏ´Â ÇàÀÇ ¼ö¸¦
Á¤È®ÇÏ°Ô °è»êÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ°ÍÀº ¼¹ö°¡ ÇÏÀ§ÀÇ(sub) ÃÖÀû ½ÇÇà °èȹÀ» »ç¿ëÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
µû¶ó¼, À妽º·Î
¾×¼¼½ºÇÏ´Â OLTP ½Ã½ºÅÛ¿¡¼ ¹ÙÀεå
º¯¼ö´Â µ¿ÀÏÇÑ ±¸¹®ÀÌ µÎ ¹ø ½ÇÇàµÉ ±âȸ°¡ Àû±â ¶§¹®¿¡ ¹ÙÀÎµå º¯¼ö¸¦ »ç¿ëÇϵµ·Ï °·ÂÇÏ°Ô ±ÇÀåÇÏ¿´Áö¸¸, ÀÇ»ç°áÁ¤ Áö¿ø ½Ã½ºÅÛ¿¡´Â ÀÌ»óÀûÀÌÁö
¾Ê½À´Ï´Ù.
OLTP¿Í DSS¿¡ ´ëÇØ µ¿ÀÏÇÑ µ¥ÀÌÅͺ£À̽º »ç¿ë
Å« µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇÏ´Â ¸¹Àº
¿À¶óŬ °í°´µéÀº Á¾Á¾ Æ®·£Àè¼Ç ó¸®¿Í ÀÇ»ç°áÁ¤ Áö¿ø¿¡ µ¿ÀÏÇÑ ÀνºÅϽº¸¦ »ç¿ëÇϱ⸦ ¿øÇÕ´Ï´Ù. µÎ °¡Áö Çʿ並 À§ÇØ µ¥ÀÌÅÍ ÀúÀå °ø°£À» ÃÖÀûÀ¸·Î
Æ©´×ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù. µû¶ó¼, ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÚ¿ø »ç¿ëÀ» À§ÇØ °æÇÕÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù.
¿À¶óŬ»ç´Â OLTP¿Í DSS ÀÛ¾÷¿¡
´ëÇØ º°µµÀÇ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ¿© ÇÊ¿äÇÒ ¶§ µ¥ÀÌÅ͸¦ ´Ù¿î·ÎµåÇÒ °ÍÀ» °·ÂÈ÷ ±ÇÀåÇÕ´Ï´Ù.
À̽´
±ÇÀå»çÇ×
±×·¯³ª, ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º ´ë½Å µÎ°³ÀÇ Å« µ¥ÀÌÅͺ£À̽º¸¦ À¯ÁöÇÏ´Â °ÍÀº
ºÐ¸íÈ÷ À繫 ºñ¿ëÀÌ µå´Â ÀÏÀ̱⠶§¹®¿¡, ÀϺΠÁ¶Á÷Àº ´ÙÀ½°ú °°Àº °æ¿ì ¿©ÀüÈ÷ ÇÏÀ̺긮µå ½Ã½ºÅÛÀ» ½ÇÇàÇϱâ·Î °áÁ¤ÇÒ °ÍÀÔ´Ï´Ù:
¸Þ¸ð¸® »ç¿ë
´ÙÀ½ÀÇ ÆĶó¹ÌÅÍ´Â ÁÖ°£¿¡ ´õ ³ôÀº °ªÀ» °®°Ô µÉ °ÍÀÔ´Ï´Ù(Áï,
OLTP¿¡¼):
º´·Ä ÁúÀÇ
ÇÑ°¡ÇÑ ½Ã°£¿¡, À̵é ÆĶó¹ÌÅ͸¦ ÀûÀýÇÑ ¼ö·Î Àç¼³Á¤ÇÏ¿©, DSS ÁúÀÇ »ç¿ëÀڵ鿡°Ô ¾ß°£ ÇÁ·ÎÆÄÀÏÀ» ÀçÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
·Ñ¹é ¼¼±×¸ÕÆ®
°ø°£ÀÇ ¿©À¯°¡ ÀÖ´Â °æ¿ì, ´ÙÀ½À» ¿øÇÒ °ÍÀÔ´Ï´Ù:
°ø°£ÀÇ ¿©À¯°¡ ¾ø´Â °æ¿ì, ¾ß°£¿¡ µ¥ÀÌÅͺ£À̽º¸¦ Á¾·áÇϱâ Àü¿¡, ÁÖ°£ ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ ¾ß°£ ·Ñ¹é ¼¼±×¸ÕÆ®·Î ´ëüÇÏ´Â ½ºÅ©¸³Æ®ÀÇ ÀÏÁ¤À» ¼¼¿ì°í, µ¥ÀÌÅͺ£À̽º¸¦ ½ÃÀÛÇÒ ¶§¿¡´Â ¹Ý´ë·Î ÇϽʽÿÀ.
´ÙÁß ¾²·¹µå ¼¹ö
NET8 tnsnames ÆÄÀÏÀº µÎ °¡Áö ¹üÁÖÀÇ º°Äª(alias)À» ÅëÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù: °øÀ¯
¼¹ö Æ®·£Àè¼Ç¿¡ ´ëÇÑ º°Äª°ú Àü¿ë
¼¹ö ¿¬°á¿¡ ´ëÇÑ º°Äª.
Åë°è ¼öÁý ¹× »ç¿ë
ANALYZE ¸í·ÉÀ¸·Î °´Ã¼¿¡ ´ëÇÑ Åë°è¸¦ ¼öÁýÇÕ´Ï´Ù. ºñ¿ë ±âÁØ ÃÖÀû±â´Â º¼·ýÀ̳ª ¼±ÅüºÀÇ ÀÛÀº º¯°æ¿¡ ¹Î°¨ÇÏÁö ¾ÊÁö¸¸, ÀÚÁÖ ¼öÁ¤µÇ´Â Å×ÀÌºí¿¡ ´ëÇÑ »õ Åë°è¸¦ ÁÖ±âÀûÀ¸·Î ¼öÁýÇÏ¿© ÃÖÀû±â°¡ Á¤È®ÇÑ ÃֽŠÁ¤º¸¸¦ »ç¿ëÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ANALYZE
{INDEX|TABLE|CLUSTER}
object_name
{COMPUTE|DELETE|ESTIMATE}
STATISTICS
[FOR ... [SIZE n]]
[SAMPLE n {ROWS|PERCENT}]
ANALYZE ¸í·ÉÀ» »ç¿ëÇÏ¿© »õ Åë°è¸¦ ¼öÁýÇÏ¸é µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡ ÀÖ´Â ±âÁ¸ Åë°è¸¦ µ¤¾î¾²°í °øÀ¯ Ç®¿¡¼ °ü·ÃµÈ ½ÇÇà °èȹÀ» ºñ¿ó´Ï´Ù.
DBMS_STATS ÆÐÅ°Áö¿¡´Â À妽º, Å×À̺í, ½ºÅ°¸¶ ¶Ç´Â µ¥ÀÌÅͺ£À̽º¸¦ ºÐ¼®ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¿©·¯ ÇÁ·Î½ÃÀú°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÀÌ ÆÐÅ°Áö¸¦ »ç¿ëÇÏ¸é ¾î´À Á¤µµ º´·Ä¼ºÀ» °¡Áö°í ´ëºÎºÐÀÇ Åë°è¸¦ ¼öÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº Oracle8i Supplied Packages Reference ¼³¸í¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
Åë°è Á¤È®µµ
Åë°è¸¦ ¼öÁýÇÒ ¶§ µÎ °¡Áö ·¹º§ÀÇ Á¤È®µµ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ç¥º»°ú ÇÔ²² »ç¿ëÇϸé COMPUTE ¿É¼Ç¸¸Å ½Å·ÚÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼öÁýµÈ Åë°è¸¦ Áö¿ï ¶§´Â DELETE ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ Åë°è°¡ ±âÁ¸ Åë°è¸¦ µ¤¾î¾²¹Ç·Î °´Ã¼¸¦ ÀçºÐ¼®Çϱâ Àü¿¡ ¹Ýµå½Ã DELETE ¿É¼ÇÀ» »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
FOR Àý
FOR ÀýÀº ´ÙÀ½ ¿É¼ÇÀ» Á¦°øÇÕ´Ï´Ù.
SIZE Àý
SIZE ÀýÀº È÷½ºÅä±×·¥ÀÇ ÃÖ´ë ¹öŶ °³¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±âº»°ªÀº 75ÀÌ°í ÃÖ´ë°ªÀº 254ÀÔ´Ï´Ù. È÷½ºÅä±×·¥Àº ÀÌ ´Ü¿øÀÇ µÞºÎºÐ¿¡¼ ´õ ÀÚ¼¼È÷ °ËÅäµË´Ï´Ù.
Å×À̺í Åë°è
Å×À̺íÀ» ºÐ¼®ÇÏ¸é ´ÙÀ½°ú °°Àº Å×ÀÌºí °ü·Ã Á¤º¸¸¦ ¾ò°Ô µË´Ï´Ù.
¸ðµç Å×ÀÌºí ·¹º§ Åë°è°¡ Áß¿äÇÏÁö¸¸ ºó ºí·Ï ¼ö°¡ ¿Ö Áß¿äÇÑÁö ¸íÈ®È÷ ¼³¸íµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ¿©±â¼ ÀÚ¼¼È÷ °ËÅäÇÕ´Ï´Ù.
ºí·Ï°ú ºó ºí·Ï ¼ö
°¢ Å×À̺íÀº ¼¼±×¸ÕÆ® Çì´õ ºí·Ï¿¡ °í¼öÀ§¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. °í¼öÀ§´Â Å×ÀÌºí¿¡ »ç¿ëµÈ ¸¶Áö¸· ºí·ÏÀ» °¡¸®Åµ´Ï´Ù. Oracle ¼¹ö¿¡¼ Àüü Å×ÀÌºí ½ºÄµÀ» ¼öÇàÇÒ ¶§ ¼¹ö´Â óÀ½ºÎÅÍ °í¼öÀ§±îÁöÀÇ ¸ðµç ºí·ÏÀ» ÀнÀ´Ï´Ù. Å×ÀÌºí¿¡¼ ÇàÀÌ »èÁ¦µÉ ¶§´Â °í¼öÀ§°¡ Àç¼³Á¤µÇÁö ¾Ê´Â´Ù´Â µ¥ À¯ÀÇÇϽʽÿÀ. ÀÌ°ÍÀº Oracle ¼¹ö°¡ ºó ºí·ÏÀ» Àд µ¥ ½Ã°£À» ³¶ºñÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
Å×ÀÌºí ºÐ¼®ÀÌ ºÒ°¡´ÉÇϰųª ¹Ù¶÷Á÷ÇÏÁö ¸øÇÑ °æ¿ì DBMS_SPACE.UNUSED_SPACE ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© °í¼öÀ§¸¦ ã°í °í¼öÀ§ À§¿¡ ÀÖ´Â ºí·Ï ¼ö¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
¿¹Á¦
´ÙÀ½ ¿¹Á¦¿¡¼ ¾à 5°³ÀÇ ºó ºí·ÏÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ºó ºí·Ï°ú Àüü ºí·Ï °£ÀÇ ºñÀ²À» ¸ð´ÏÅÍÇØ¾ß ÇÕ´Ï´Ù.
SQL> analyze table employees estimate statistics for table;
SQL> select num_rows,blocks,empty_blocks
2 , avg_space,avg_row_len, sample_size
3 from dba_tables
4 where table_name = 'EMPLOYEES' and owner = user;
NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE AVG_ROW_LEN SAMPLE_SIZE
-------- ------ ------------ --------- ----------- -----------
15132 434 5 225 48 1064
ºó ºí·Ï¿¡ ¹®Á¦°¡ ÀÖ´Ù°í ÆÇ´ÜµÉ ¶§´Â Å×À̺íÀ» À籸¼ºÇØ¾ß ÇÕ´Ï´Ù. SQL*Plus, SQL*Loader, ¿¢½ºÆ÷Æ® ¹× ÀÓÆ÷Æ® °°Àº ¿©·¯ ´Ù¸¥ ±â¼úÀ» »ç¿ëÇÏ¿© Å×À̺íÀ» À籸¼ºÇϸé Å×ÀÌºí¿¡ ´õ È¿À²ÀûÀ¸·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ŭ·¯½ºÅ͸µ ¿ä¼Ò
À妽º Ŭ·¯½ºÅ͸µ ¿ä¼Ò´Â ºñ¿ë ±âÁØ ÃÖÀû±â°¡ À妽º ½ºÄµ ºñ¿ë ÃßÁ¤¿¡ »ç¿ëÇÏ´Â Áß¿äÇÑ À妽º Åë°è·Î À妽º¸¦ ÅëÇØ ¸ðµç Å×À̺í ÇàÀ» °Ë»öÇÏ´Â µ¥ ÇÊ¿äÇÑ ³í¸®Àû µ¥ÀÌÅÍ ºí·Ï ¹æ¹® Ƚ¼ö¸¦ ³ªÅ¸³À´Ï´Ù. À妽º Ç׸ñÀÌ Å×À̺í Çà ¼ø¼¸¦ µû¸£´Â °æ¿ì¿¡´Â °¢ ºí·Ï¿¡ ´ëÇÑ ¹æ¹®ÀÌ ÇÑ ¹ø¸¸ ÀÌ·ç¾îÁö¹Ç·Î ÀÌ °ªÀÌ µ¥ÀÌÅÍ ºí·Ï ¼ö¿¡ ±ÙÁ¢ÇÕ´Ï´Ù. ±×·¯³ª À妽º Ç׸ñÀÌ ¹«ÀÛÀ§·Î ¿©·¯ ´Ù¸¥ µ¥ÀÌÅÍ ºí·ÏÀ» °¡¸®Å°´Â °æ¿ì¿¡´Â Ŭ·¯½ºÅ͸µ ¿ä¼Ò°¡ Çà ¼ö¿¡ ±ÙÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹Á¦
SQL> analyze index reg_pk compute statistics;
SQL> select blevel, leaf_blocks, distinct_keys, clustering_factor
2 from dba_indexes
3 where index_name = 'REG_PK' and owner = user;
BLEVEL LEAF_BLOCKS DISTINCT_KEYS CLUSTERING_FACTOR
------ ----------- ------------- -----------------
2 682 56252 21349
¿ Åë°è º¸±â
°¡Àå ³·Àº °ª°ú °¡Àå ³ôÀº °ª µÑ ´Ù RAW(ÀÌÁø) Çü½ÄÀ¸·Î ÀúÀåµÈ´Ù´Â Á¡¿¡ À¯ÀÇÇϽʽÿÀ.
USER_TAB_COL_STATISTICS ºä´Â USER_TAB_COLUMNS ºä¿¡ Ç¥½ÃµÇ´Â ¿ÀÇ °ü·Ã ºÎºÐ ÁýÇÕÀ» Á¦°øÇÕ´Ï´Ù. ´ë½Å DBA_TAB_COL_STATISTICS ºä¸¦ »ç¿ëÇÒ ¼öµµ ÀÖÀ¸³ª ÀÌ ºä´Â OWNER ¿À» Æ÷ÇÔÇÏÁö ¾ÊÀ¸¹Ç·Î µ¥ÀÌÅͺ£À̽ºÀÇ ¿©·¯ ´Ù¸¥ ½ºÅ°¸¶¿¡ °°Àº À̸§ÀÇ Å×À̺íÀÌ ¿©·¯ °³ ÀÖÀ» ¶§´Â È¥¶õ½º·¯¿î °á°ú¸¦ ¾ò°Ô µË´Ï´Ù.
NUM_BUCKETS ¿Àº ÀÏ¹Ý ¿ Åë°è°¡ ÇϳªÀÇ ¹öŶÀÌ ÀÖ´Â È÷½ºÅä±×·¥À¸·Î 󸮵ÊÀ» Ç¥½ÃÇÕ´Ï´Ù. È÷½ºÅä±×·¥Àº ´ÙÀ½ ÆäÀÌÁö¿¡¼ °ËÅäµË´Ï´Ù.
¿¹Á¦
SQL> select column_name, num_distinct, low_value, high_value
2 , num_nulls, num_buckets
3 from user_tab_col_statistics
4 where table_name = 'EMPLOYEES' and column_name = 'SALARY';
COLUMN_NAME NUM_DIST LOW_VALUE HIGH_VALUE NUM_NULLS NUM_BUCKETS
----------- -------- --------- ---------- --------- -----------
SALARY 496 C208 C30A62 0 1
È÷½ºÅä±×·¥ »ç¿ë
ÀÏ¹Ý ¿ Åë°è¸¦ »ç¿ëÇÒ ¶§ °¢°¢ÀÇ ¿¿¡ ´ëÇÑ ÃÖ¼Ò°ª°ú ÃÖ´ë°ªÀÌ ÀúÀåµË´Ï´Ù. ºñ¿ë ±âÁØ ÃÖÀû±â´Â ÀÌ °ªÀ» »ç¿ëÇؼ µÎ ¾ç±Ø °ª »çÀÌ¿¡ µ¥ÀÌÅÍ°¡ ±ÕµîÇÏ°Ô ºÐ»êµÇ¾ú´Ù°í °¡Á¤ÇÏ¿© ¼ú¾î ¼±ÅüºÀ» °è»êÇÕ´Ï´Ù. ±×·¯³ª µ¥ÀÌÅÍ°¡ ºñ´ëĪÀÎ °æ¿ì ÀÌ °¡Á¤Àº ºÎºÐÀûÀÎ ÃÖÀûÈ °èȹÀÌ µÉ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. È÷½ºÅä±×·¥¿¡¼ ¿ °ªÀ» ¸¹Àº ¹öŶÀ¸·Î ºÐÇÒÇÏ¿© ¿ ³»¿¡¼ÀÇ µ¥ÀÌÅÍ ºÐ»ê¿¡ ´ëÇØ ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ÀúÀåÇÏ´Â °ÍÀ» °í·ÁÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ·¸°Ô Çϸé Ãß°¡ µ¥ÀÌÅÍ µñ¼Å³Ê¸® ÀúÀå ¿µ¿ªÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¹öŶÀÇ ³ôÀÌ´Â ±ÕÇüÀ» ÀÌ·ç¸ç ÀÌ°ÍÀº °¢ ¹öŶÀÌ ´ë·« °°Àº ¼öÀÇ °ªÀ» Æ÷ÇÔÇÔÀ» ÀǹÌÀÔ´Ï´Ù.
±âº» ¹öŶ ¼ö´Â 75ÀÌ°í ÃÖ´ë°ªÀº 254ÀÔ´Ï´Ù.
¿¹Á¦
SQL> analyze table classes compute statistics for columns class_id;
SQL> select endpoint_number, endpoint_value
2 from user_histograms
3 where table_name = 'CLASSES' and column_name = 'CLASS_ID';
ENDPOINT ENDPOINT
_NUMBER _VALUE
-------- --------
0 50008
1 55198
2 56718
3 63037
... ...
75 155801
DBMS_STATS¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º °£ÀÇ Åë°è º¹»ç
DBMS_STATS ÆÐÅ°Áö ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇؼ ¿î¿ë ÁßÀÎ Oracle8i µ¥ÀÌÅͺ£À̽ºÀÇ Åë°è¸¦ Å×½ºÆ® µ¥ÀÌÅͺ£À̽º·Î º¹»çÇÏ¿© Æ©´×À» ½±°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ½ºÅ°¸¶ Åë°è¸¦ º¹»çÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
°´Ã¼¸¦ ºÐ¼®Çϱâ Àü¿¡ DBMS_STATS ÆÐÅ°Áö¸¦ »ç¿ëÇÏ¿© Åë°è¸¦ ¹é¾÷ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¹é¾÷Àº ´ÙÀ½°ú °°Àº ¸ñÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Åë°è º¹»ç
µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡¼ »ç¿ëÀÚ Á¤ÀÇ Åë°è Å×À̺í·Î Å×ÀÌºí¿¡ ´ëÇÑ Åë°è¸¦ º¹»çÇÏ·Á¸é, CREATE_STAT_TABLE ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ Á¤ÀÇ Å×À̺íÀ» »ý¼ºÇÑ ´ÙÀ½ EXPORT_TABLE_STATS ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© Åë°è¸¦ º¹»çÇÕ´Ï´Ù.
DBMS_STATS´Â Åë°è º¹»ç¸¦ À§ÇØ ´ÙÀ½°ú °°Àº ÇÁ·Î½ÃÀú¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
ÇÁ·Î½ÃÀú |
¼³¸í |
CREATE_STAT_TABLE |
Åë°è¸¦ º¸À¯ÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ Á¤ÀÇ Å×À̺íÀ» »ý¼ºÇÕ´Ï´Ù. |
DROP_STAT_TABLE |
»ç¿ëÀÚ Á¤ÀÇ Åë°è Å×À̺íÀ» »èÁ¦ÇÕ´Ï´Ù. |
EXPORT_object_STATS |
µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡¼ »ç¿ëÀÚ Á¤ÀÇ Å×À̺í·Î Åë°è¸¦ ¿¢½ºÆ÷Æ®ÇÕ´Ï´Ù. |
IMPORT_ object_STATS |
»ç¿ëÀÚ Á¤ÀÇ Å×ÀÌºí¿¡¼ µ¥ÀÌÅÍ µñ¼Å³Ê¸®·Î Åë°è¸¦ ÀÓÆ÷Æ®ÇÕ´Ï´Ù. |
object |
COLUMN, INDEX, TABLE, SCHEMA°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. |
°èȹ ¾ÈÁ¤µµ
ÃÖÀû±â¿¡ Ç×»ó ¿ÏÀüÇÑ Á¤º¸°¡ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¹Ç·Î °¡´ÉÇÑ ÃÖ»óÀÇ ½ÇÇà °èȹÀ» ¼±ÅÃÇÒ ¼ö ¾ø´Â °æ¿ì°¡ Á¾Á¾ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì ÈùÆ®³ª ´Ù¸¥ Æ©´× ±â¹ýÀ» »ç¿ëÇÏ¿© SQL ¹®À» ÀçÀÛ¼ºÇÔÀ¸·Î½á ÃÖÀû±â°¡ °èȹÀ» ¼±ÅÃÇÏ´Â µ¥ µµ¿òÀ» ÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¸¸Á·½º·¯¿î °á°ú°¡ ³ª¿Â °æ¿ì ÃÖÀûÈ¿¡ ¿µÇâÀ» ÁÖ´Â ¿ä¼Ò°¡ º¯°æµÇ¾úÀ»Áö¶óµµ °°Àº ÁúÀÇ°¡ ÀçÄÄÆÄÀ쵃 ¶§¸¶´Ù °°Àº Æ©´× °èȹÀÌ »ý¼ºµÇµµ·Ï ÇÏ°í ½ÍÀ» °ÍÀÔ´Ï´Ù.
Oracle8i´Â Oracle ¸±¸®½º, µ¥ÀÌÅͺ£À̽ºÀÇ º¯°æ ¶Ç´Â ÀϹÝÀûÀ¸·Î ½ÇÇà °èȹÀ» º¯°æÇϵµ·Ï ¸¸µå´Â ´Ù¸¥ ¿ä¼Ò¸¦ Æ÷¿ëÇÏ¸é¼ ½ÇÇà °èȹÀ» ¾ÈÁ¤ÈÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ¶ÇÇÑ ½ÇÇà °èȹÀ» »ý¼ºÇϱâ À§ÇØ ÃÖÀû±â¿¡¼ »ç¿ëÇÏ´Â ¿©·¯ ÈùÆ®°¡ Æ÷ÇÔµÈ ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
SQL ¹® µî°¡
°èȹ ¾ÈÁ¤µµ´Â ÁúÀÇ¿¡ Á¤È®È÷ ÀÏÄ¡ÇÏ´Â ÅؽºÆ®°¡ ÀÖ´ÂÁö¸¦ È®ÀÎÇÏ¿© ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀÌ ÀÖ´ÂÁö ÆÇ´ÜÇÕ´Ï´Ù. ÀÌ´Â °øÀ¯ Ç®ÀÇ ½ÇÇà °èȹÀ» Àç»ç¿ëÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ ÆÇ´ÜÇÒ ¶§ »ç¿ëÇÏ´Â °Í°ú µ¿ÀÏÇÑ ÀÏÄ¡ Á¶°ÇÀÔ´Ï´Ù.
½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀº ÃÖÀû±â¿¡¼ ¾ÈÁ¤ÀûÀÎ ½ÇÇà °èȹÀ» ¾ò´Â µ¥ »ç¿ëÇÏ´Â ÈùÆ®¿¡ ºÎºÐÀûÀ¸·Î ÀÇÁ¸ÇÕ´Ï´Ù. µû¶ó¼ °èȹÀÌ µî°¡°¡ µÇ´Â Á¤µµ´Â °èȹ¿¡¼ »ç¿ëÇÏ´Â ÈùÆ®ÀÇ ¼º´É¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. ½ºÅä¾Æµå ¾Æ¿ô¶óÀο¡ Æ÷ÇÔµÈ ½ÇÇà ´Ü°è¿¡´Â Çà ¾×¼¼½º ¹æ½Ä, Á¶ÀÎ ¼ø¼, Á¶ÀÎ ¹æ½Ä, ºÐ»ê ¾×¼¼½º, ºä/¼ºê Äõ¸® º´ÇÕÀÌ Æ÷ÇԵ˴ϴÙ. ºÐ»ê ¾×¼¼½º´Â ¿ø°Ý ³ëµåÀÇ ½ÇÇà °èȹÀ» Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù.
°èȹ ¾ÈÁ¤µµ
ÀÌ °èȹÀº ¸¹Àº À¯ÇüÀÇ µ¥ÀÌÅͺ£À̽º¿Í ÀνºÅϽº º¯°æÀ» °ÅÃÄ À¯Áö °ü¸®µË´Ï´Ù. µû¶ó¼ ´ë·® ¹èÆ÷ÇÒ ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â °æ¿ì ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀ» »ç¿ëÇÏ¿© ¸ðµç °í°´ÀÌ °°Àº ½ÇÇà °èȹÀ» ¾×¼¼½ºÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, À妽º Ãß°¡·Î ½ºÅ°¸¶°¡ º¯°æµÈ °æ¿ì ½ºÅä¾Æµå ¾Æ¿ô¶óÀο¡¼ »õ À妽º »ç¿ëÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
½ºÅä¾Æµå ¾Æ¿ô¶óÀÎ »ý¼º
Oracle¿¡¼ ÀÚµ¿À¸·Î ¾Æ¿ô¶óÀÎÀ» »ý¼ºÇϰųª »ç¿ëÀÚ°¡ ƯÁ¤ SQL ¹®¿¡ ´ëÇÑ ¾Æ¿ô¶óÀÎÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ¿ô¶óÀÎÀº ÈùÆ®¿¡ ÀÇÁ¸ÇϹǷΠºñ¿ë ±âÁØ ÃÖÀû±â¸¦ »ç¿ëÇÕ´Ï´Ù.
¹üÁÖ
½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀº ¹üÁÖº°·Î ±×·ìÈÇÒ ¼ö ÀÖ½À´Ï´Ù. °°Àº SQL ¹®¿¡ ¿©·¯ ¹üÁÖÀÇ ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, OLTP ¹üÁÖ¿Í DSS ¹üÁÖ°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¹üÁÖ À̸§À» »ý·«ÇÏ¸é ¾Æ¿ô¶óÀÎÀº DEFAULT ¹üÁÖ¿¡ Æ÷ÇԵ˴ϴÙ.
CREATE_STORED_OUTLINES ¸Å°³º¯¼ö
Oracle¿¡¼´Â ¸Å°³º¯¼ö CREATE_STORED_OUTLINES°¡ TRUE³ª ¹üÁÖ À̸§À¸·Î ¼³Á¤µÉ ¶§ ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀ» ÀÚµ¿À¸·Î »ý¼ºÇÕ´Ï´Ù. TRUE·Î ¼³Á¤Çϸé DEFAULT ¹üÁÖ°¡ »ç¿ëµË´Ï´Ù. ÀÌ ¸Å°³º¯¼ö°¡ È°¼ºÈµÉ ¶§ Oracle¿¡¼´Â ¸ðµç ½ÇÇàµÈ SQL ¹®¿¡ ´ëÇÑ ¾Æ¿ô¶óÀÎÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö¸¦ FALSE·Î ¼³Á¤ÇÏ¿© ÇÁ·Î¼¼½º¸¦ ºñÈ°¼ºÈÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö¸¦ »ç¿ëÇϸé Oracle¿¡¼ ¾Æ¿ô¶óÀÎ À̸§À» »ý¼ºÇÕ´Ï´Ù.
CREATE OUTLINE ¸í·É
CREATE OUTLINE ¸í·ÉÀ» »ç¿ëÇÏ¿© ƯÁ¤ ¸í·É¹®¿¡ ´ëÇÑ ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀ» »ý¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ Á¢±Ù ¹æ¹ýÀÇ ÇÑ °¡Áö ÀåÁ¡Àº ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀÇ À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
½ºÅä¾Æµå ¾Æ¿ô¶óÀÎ »ç¿ë
USE_STORED_OUTLINES¸¦ TRUE·Î ¼³Á¤Çϸé DEFAULT ¹üÁÖÀÇ ¾Æ¿ô¶óÀÎÀÌ »ç¿ëµË´Ï´Ù.
USE_STORED_OUTLINES¸¦ ¹üÁÖ À̸§À¸·Î ¼³Á¤Çϸé ÇØ´ç ¹üÁÖÀÇ ¾Æ¿ô¶óÀÎÀÌ »ç¿ëµË´Ï´Ù. ÇØ´ç ¹üÁÖ¿¡´Â ÀÏÄ¡ÇÏ´Â ¾Æ¿ô¶óÀÎÀÌ ¾øÁö¸¸ DEFAULT ¹üÁÖ¿¡ ÀÖÀ¸¸é ±× ¾Æ¿ô¶óÀÎÀÌ »ç¿ëµË´Ï´Ù.
¸í·É¹®Àº ¾Æ¿ô¶óÀÎÀÇ ¸í·É¹® ÅؽºÆ®¿Í ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù. ¸í·É¹®Àº °øÀ¯ Ç®¿¡¼ Ä¿¼¸¦ ºñ±³ÇÏ´Â ¹æ½ÄÀ¸·Î ºñ±³µË´Ï´Ù. ÀÌ°ÍÀº ¾Æ¿ô¶óÀÎÀÇ ÈùÆ®°¡ ¸í·É¹®ÀÇ ÅؽºÆ®¿¡¼ »ç¿ëµÉ ¶§¿Í ÀÏÄ¡ÇØ¾ß ÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ¹ÙÀÎµå º¯¼ö °ªÀº ÀÏÄ¡ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.
SQL ¹®ÀÇ ½ÇÇà °èȹÀ» °áÁ¤Çϱâ À§ÇØ Oracle8i´Â ´ÙÀ½ ³í¸®¸¦ »ç¿ëÇÕ´Ï´Ù.
»ç¿ëÇÒ ¼ö ¾ø´Â °´Ã¼¸¦ »ç¿ëÇϵµ·Ï ¾Æ¿ô¶óÀο¡¼ ÁöÁ¤ÇÏ´Â °æ¿ì ¸í·É¹®¿¡¼´Â ´Ü¼øÈ÷ ÈùÆ®¸¦ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¸é, ¸í·É¹®ÀÌ ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾Ê´Â À妽º¸¦ ÂüÁ¶ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎÀÌ »ç¿ë ÁßÀÎÁö È®ÀÎÇϱâ À§ÇØ ¸í·É¹®¿¡ ´ëÇÑ explain planÀ» USE_STORED_OUTLINES ÁýÇÕ°ú ÇÔ²² ½ÇÇàÇÒ ¶§¿Í USE_STORED_OUTLINES ÁýÇÕ ¾øÀÌ ½ÇÇàÇÒ ¶§¸¦ ºñ±³ÇØ º¼ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
½ºÅä¾Æµå ¾Æ¿ô¶óÀÎ À¯Áö °ü¸®
OUTLN_PKG ÆÐÅ°ÁöÀÇ ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ½ºÅä¾Æµå ¾Æ¿ô¶óÀÎ ¹× ±× ¹üÁÖ¸¦ °ü¸®ÇÕ´Ï´Ù.
ÇÁ·Î½ÃÀú |
¼³¸í |
DROP_UNUSED |
»ý¼ºµÈ ÀÌÈÄ »ç¿ëµÈ ÀûÀÌ ¾ø´Â ¾Æ¿ô¶óÀÎÀ» »èÁ¦ÇÕ´Ï´Ù. |
DROP_BY_CAT |
ÁöÁ¤ÇÑ ¹üÁÖ À̸§¿¡ ÇÒ´çµÈ ¾Æ¿ô¶óÀÎÀ» »èÁ¦ÇÕ´Ï´Ù. |
UPDATE_BY_CAT |
ÇÑ ¹üÁÖÀÇ ¾Æ¿ô¶óÀÎÀ» ´Ù¸¥ ¹üÁÖ·Î ÀçÇÒ´çÇÕ´Ï´Ù. |
ALTER/DROP OUTLINE ¸í·ÉÀ» »ç¿ëÇÏ¿© ¾Æ¿ô¶óÀÎÀ» °ü¸®ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¸ðµç ¾Æ¿ô¶óÀÎÀÌ ÀúÀåµÇ¾î ÀÖ´Â OUTLN ½ºÅ°¸¶¸¦ ¿¢½ºÆ÷Æ®ÇÏ¿© °èȹÀ» ¿¢½ºÆ÷Æ®ÇÏ°í ÀÓÆ÷Æ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. OUTLN ½ºÅ°¸¶ÀÇ Å×ÀÌºí¿¡ ¾Æ¿ô¶óÀÎÀ» ÁúÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
DBA_OUTLINES ¹× DBA_OUTLINE_HINTS´Â µ¿ÀÏÇÑ µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºäÀÔ´Ï´Ù.
Âü°í: µ¥ÀÌÅͺ£À̽º¿Í ÇÔ²² »ç¿ëÀÚ OUTLNÀÌ ÀÚµ¿À¸·Î »ý¼ºµÇ¹Ç·Î ±× ¾ÏÈ£¸¦ º¯°æÇØ¾ß ÇÕ´Ï´Ù.
±¸Ã¼ÈµÈ ºä
±¸Ã¼ÈµÈ ºä¿¡´Â ºä ½ÇÇàÀÇ °á°ú Çà°ú ºä Á¤ÀÇ°¡ ¸ðµÎ ÀúÀåµË´Ï´Ù. ºä¿Í ¸¶Âù°¡Áö·Î ±¸Ã¼ÈµÈ ºäµµ ÁúÀǸ¦ ±â¹ÝÀ¸·Î »ç¿ëÇÏÁö¸¸ ÀÌ ÁúÀÇ´Â ºä°¡ »ý¼ºµÉ ¶§¿¡ ½ÇÇàµÇ¾î ±× °á°ú°¡ Å×ÀÌºí¿¡ ÀúÀåµË´Ï´Ù. »ç¿ëÀÚ°¡ ´Ù¸¥ Å×À̺í°ú µ¿ÀÏÇÑ ÀúÀå ¿µ¿ª ¸Å°³º¯¼ö¸¦ °¡Áö°í Å×À̺íÀ» Á¤ÀÇÇÏ¿© ¼±ÅÃÇÑ Å×ÀÌºí½ºÆäÀ̽º¿¡ ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ Å×À̺íó·³ ±¸Ã¼ÈµÈ ºä Å×À̺íÀ» À妽ºÈÇÏ°í ºÐÇÒÇÏ¿© ÀÌ Å×ÀÌºí¿¡ ´ëÇØ ½ÇÇàµÇ´Â ÁúÀÇÀÇ ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.
ÁúÀǸ¦ ÅëÇØ ¾òÀº ±¸Ã¼ÈµÈ ºäÀÇ µ¥ÀÌÅÍ°¡ ¸¸Á·½º·¯¿ï °æ¿ì ¼¹ö¿¡¼´Â ±âº» Å×À̺íÀÌ ¾Æ´Ñ ºä¸¦ ÂüÁ¶Çϵµ·Ï ÁúÀǸ¦ º¯ÇüÇÕ´Ï´Ù. ±¸Ã¼ÈµÈ ºä¸¦ »ç¿ëÇÏ¸é ±¸Ã¼ÈµÈ ºä¿¡ ´ëÇÑ ÁúÀǸ¦ ÀçÀÛ¼ºÇÏ¿© Àç½ÇÇàÇÏ´Â °Í°ú °°Àº ºñ°æÁ¦ÀûÀÎ ÀÛ¾÷(¿¹: Á¶ÀÎ ¶Ç´Â ÇÕ°è)À» ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.
±¸Ã¼ÈµÈ ºä °»½Å
±¸Ã¼ÈµÈ ºä´Â ½º³À¼¦°ú °°Àº ³»ºÎ ó¸® ¹æ¹ýÀ» »ç¿ëÇÏ¸ç ¿©·¯ °»½Å ±â¹ýÀ» Áö¿øÇÕ´Ï´Ù.
±¸Ã¼ÈµÈ ºäÀÇ ¿ÏÀüÇÑ °»½Å¿¡´Â CREATE ¸í·ÉÀÇ ÁúÀÇ Á¤ÀǸ¦ Àç½ÇÇàÇÏ¿© ±âÁ¸ µ¥ÀÌÅ͸¦ À߶󳻴 ÀÛ¾÷°ú µðÅ×ÀÏ Å×À̺íÀ» ±â¹ÝÀ¸·Î ÇÏ´Â ¸ðµç µ¥ÀÌÅ͸¦ Àç»ðÀÔÇÏ´Â ÀÛ¾÷ÀÌ Æ÷ÇԵ˴ϴÙ.
ºü¸¥ °»½ÅÀº ¸¶Áö¸· °»½Å ÀÌÈÄÀÇ º¯°æ ³»¿ë¿¡¸¸ Àû¿ëµË´Ï´Ù. µÎ °¡Áö À¯ÇüÀÇ ºü¸¥ °»½ÅÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Force °»½Å À¯ÇüÀ¸·Î Á¤ÀÇµÈ ºä´Â °¡´ÉÇÒ °æ¿ì ºü¸¥ ó¸® ¹æ¹ýÀ¸·Î °»½ÅµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¿ÏÀü °»½ÅÀ» »ç¿ëÇÕ´Ï´Ù. Force´Â ±âº» °»½Å À¯ÇüÀÔ´Ï´Ù.
Never ¿É¼ÇÀº ±¸Ã¼ÈµÈ ºäÀÇ ¸ðµç °»½ÅÀ» ¾ïÁ¦ÇÕ´Ï´Ù.
°»½Å ¸ðµå
DBMS_MVIEW ÆÐÅ°Áö¸¦ »ç¿ëÇÏ¿© ¼öµ¿ °»½ÅÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. DBMS_MVIEW ÆÐÅ°Áö´Â REFRESH, REFRESH_DEPENDENT, REFRESH_ALL_MVIEWS ÇÁ·Î½ÃÀú µî ¸¹Àº ÇÁ·Î½ÃÀú¿Í ÇÔ¼ö¸¦ Á¦°øÇÏ¿© ±¸Ã¼ÈµÈ ºä¸¦ °ü¸®ÇÕ´Ï´Ù.
´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ÀÚµ¿ °»½ÅÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
Âü°í: ¸ðµç ±¸Ã¼ÈµÈ ºä¿¡ ´ëÇØ ¸ðµç °»½Å À¯Çü°ú °»½Å ¸ðµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. Oracle8i Replication ¼³¸í¼ÀÇ ºÎ·Ï C¿¡ °¢°¢ÀÇ ¸ðµå ¹× ¸ðµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì°¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
±¸Ã¼ÈµÈ ºäÀÇ ¼öµ¿ °»½Å
´ÙÀ½Àº ±¸Ã¼ÈµÈ ºä(MV)¿¡ ´ëÇØ °¡´ÉÇÑ °»½Å ½Ã³ª¸®¿À ¸ñ·ÏÀÔ´Ï´Ù.
ÆÐÅ°ÁöÀÇ ÇÁ·Î½ÃÀú´Â ¸¹Àº ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ¿© ´ÙÀ½À» ÁöÁ¤ÇÕ´Ï´Ù.
°»½Å ÀÛ¾÷ ½ÇÇà¿¡´Â ¼¹ö ÀÛ¾÷ ´ë±â¿ÀÌ »ç¿ëµË´Ï´Ù. µû¶ó¼ ÇØ´ç ÃʱâÈ ¸Å°³º¯¼öÀÎ JOB_QUEUE_PROCESSES¿Í JOB_QUEUE_INTERVALÀ» ¼³Á¤ÇÏ¿© ÀÛ¾÷ ´ë±â¿ °»½Å ÇÁ·Î¼¼½º¸¦ »ç¿ëÇϵµ·Ï ÇØ¾ß ÇÕ´Ï´Ù.
ÁúÀÇ ÀçÀÛ¼º
±¸Ã¼ÈµÈ ºä¿¡ ´ëÇÑ ¾×¼¼½º°¡ ¹ÙÅÁÀÌ µÇ´Â ±âº» Å×ÀÌºí¿¡ ´ëÇÑ ¾×¼¼½ºº¸´Ù ÈξÀ ´õ ºü¸¦ ¼ö ÀÖÀ¸¹Ç·Î ÃÖÀû±â´Â ÁúÀÇ¿¡¼ Çã¿ëÇÏ´Â °æ¿ì ºä¿¡ ¾×¼¼½ºÇϵµ·Ï ÁúÀǸ¦ ÀçÀÛ¼ºÇÕ´Ï´Ù. ÁúÀÇ ÀçÀÛ¼º ÀÛ¾÷Àº ÀÀ¿ë ÇÁ·Î±×·¥¿¡ Åõ¸íÇÕ´Ï´Ù. ÀÌ·± Á¡¿¡¼ ÁúÀǸ¦ ÀçÀÛ¼ºÇÏ´Â °ÍÀº À妽º¸¦ »ç¿ëÇÏ´Â °Í°ú À¯»çÇÕ´Ï´Ù.
»ç¿ëÀÚ´Â ±¸Ã¼ÈµÈ ºä¸¦ »ç¿ëÇϱâ À§ÇÑ ¸í½ÃÀû ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾Ê¾Æµµ µË´Ï´Ù. ±âº» Å×ÀÌºí¿¡ ´ëÇÑ ±ÇÇÑÀ» °¡Áø »ç¿ëÀÚ°¡ ½ÇÇàÇÑ ÁúÀǸ¦ ÀçÀÛ¼ºÇÏ¿© ±¸Ã¼ÈµÈ ºä¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
±¸Ã¼ÈµÈ ºä´Â È°¼ºÈµÇ°Å³ª ºñÈ°¼ºÈµÉ ¼ö ÀÖÀ¸¸ç È°¼ºÈµÈ ±¸Ã¼ÈµÈ ºä¸¦ ÁúÀÇ ÀçÀÛ¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÁúÀÇ ÀçÀÛ¼º
ÁúÀÇ ÀçÀÛ¼ºÀº ÃÖÀû±â¿¡¼ ¼öÇàµË´Ï´Ù. ÀçÀÛ¼ºÀº ÀÀ¿ë ÇÁ·Î±×·¥¿¡ Åõ¸íÇÕ´Ï´Ù.
ÀçÀÛ¼ºÀ» ¼öÇàÇÏ´Â ±â´ÉÀº QUERY_REWRITE_ENABLED ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ¿© ÀνºÅϽº ·¹º§À̳ª ¼¼¼Ç ·¹º§ Áß Çϳª¿¡¼ È°¼ºÈµÇ¾î¾ß ÇÕ´Ï´Ù.
ÁúÀÇ ÀçÀÛ¼ºÀ» À§ÇØ °³º° ±¸Ã¼ÈµÈ ºä¸¦ È°¼ºÈÇϰųª ºñÈ°¼ºÈÇÏ·Á´Â »ç¿ëÀÚ´Â GLOBAL QUERY REWRITE³ª QUERY REWRITE ½Ã½ºÅÛ ±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. µÎ ±ÇÇÑ ¸ðµÎ »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ ½ºÅ°¸¶¿¡ ÀÖ´Â ±¸Ã¼ÈµÈ ºä¸¦ È°¼ºÈÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. GLOBAL ¹öÀüÀ» »ç¿ëÇÏ¸é »ç¿ëÀÚ ¼ÒÀ¯ÀÇ ±¸Ã¼ÈµÈ ºä¸¦ ¸ðµÎ È°¼ºÈÇÒ ¼ö ÀÖ´Â ¹Ý¸é ´Ü¼ø QUERY REWRITE ±ÇÇÑÀ» »ç¿ëÇÒ ¶§´Â ºä¸¸ÀÌ ¾Æ´Ï¶ó ±âº» Å×ÀÌºíµµ »ç¿ëÀÚÀÇ ½ºÅ°¸¶¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
±¸Ã¼ÈµÈ ºä »ý¼º: ±¸¹®
±¸Ã¼ÈµÈ ºä »ý¼º ±¸¹®Àº CREATE SNAPSHOT ¸í·É°ú À¯»çÇϸç Ãß°¡ ¿É¼ÇÀÌ ¸î °¡Áö ÀÖ½À´Ï´Ù. ¿¹Á¦¿¡¼´Â CREATE ¸í·ÉÀÌ ½ÇÇàµÉ ¶§ ±¸Ã¼ÈµÈ ºä°¡ ä¿öÁöµµ·Ï BUILD IMMEDIATE ¿É¼ÇÀ» ¼±ÅÃÇÕ´Ï´Ù. ÀÌ°ÍÀº ±âº» µ¿ÀÛÀ̸ç ÀÌ°Í°ú´Â ´Þ¸® ±¸Á¶´Â »ý¼ºÇÏÁö¸¸ ù¹ø° °»½ÅÀÌ ¹ß»ýÇÒ ¶§±îÁö ±¸Ã¼ÈµÈ ºä¸¦ ä¿ìÁö ¾Ê´Â BUILD DEFERRED ¿É¼ÇÀ» ¼±ÅÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Oracle8i ÀÌÀü¿¡ »ý¼ºµÈ Å×À̺íÀÌ ±¸Ã¼ÈµÈ ºäÀÇ ¼Ò½º°¡ µÇµµ·Ï ÇÏ·Á´Â °æ¿ì¿¡´Â ON PREBUILD TABLE ¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù.
ENABLE/DISABLE QUERY REWRITE ÀýÀº ±¸Ã¼ÈµÈ ºä¿¡ ´ëÇØ ÁúÀÇ ÀçÀÛ¼ºÀÌ ÀÚµ¿À¸·Î È°¼ºÈµÇ°Ô ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÕ´Ï´Ù.
±¸Ã¼ÈµÈ ºä: ÁúÀÇ ÀçÀÛ¼º
ÁúÀÇ¿¡ ´ëÇÑ ½ÇÇà °èȹ(°èȹ Å×À̺íÀÇ Çü½ÄÀÌ ÁöÁ¤µÈ °á°ú)Àº ÁúÀÇ°¡ µÎ °³ÀÇ ±âº» Å×ÀÌºí¿¡¼ ½ÇÇàµÇÁö ¾Ê°í ´ÜÁö ±¸Ã¼ÈµÈ ºä Å×ÀÌºí¸¸À» ½ºÄµÇÑ´Ù´Â °ÍÀ» º¸¿© ÁÝ´Ï´Ù. ÀÌ ¿¹Á¦´Â ±¸Ã¼ÈµÈ ºä¿Í ÁúÀÇ ÀçÀÛ¼ºÀÇ À§·ÂÀ» º¸¿©ÁÖ´Â °ÍÀÔ´Ï´Ù. ±¸Ã¼ÈµÈ ºä·Î ±¸¼ºµÈ Å×À̺íÀº ÁúÀÇ¿¡¼ ¸í¸íµÈ ±âº» Å×À̺í°ú ÀÌµé ±âº» Å×ÀÌºí¿¡ ´ëÇÑ ¸ðµç ÀÛ¾÷À» ¿ÏÀüÈ÷ ´ë½ÅÇÕ´Ï´Ù.
ÁúÀÇ ÀçÀÛ¼º Á¦¾î ´ÙÀ½ ¸Å°³º¯¼ö·Î ÁúÀÇ ÀçÀÛ¼ºÀ» Á¦¾îÇÕ´Ï´Ù. OPTIMIZER_MODE: ºñ¿ë ±âÁØ ÃÖÀûÈ¿¡¼¸¸ ÁúÀÇ ÀçÀÛ¼ºÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±ÔÄ¢ ±â¹Ý ÃÖÀûȸ¦ »ç¿ëÇϸé ÁúÀÇ ÀçÀÛ¼ºÀÌ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. QUERY_REWRITE_ENABLED: ÀÌ ¸Å°³º¯¼ö¸¦ FALSE·Î ¼³Á¤ÇÏ¸é ºñ¿ë ±âÁØ ÃÖÀû±â¸¦ »ç¿ëÇϸ鼵µ ÁúÀÇ ÀçÀÛ¼º »ç¿ëÀ» ¾ïÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â °³º° ¼¼¼Ç»Ó¸¸ ¾Æ´Ï¶ó Àüü ÀνºÅϽº¿¡ ´ëÇØ µ¿ÀûÀ¸·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. QUERY_REWRITE_INTEGRITY: ÀÌ ¸Å°³º¯¼ö´Â ÀνºÅϽº¿Í °³º° ¼¼¼Ç¿¡ ´ëÇØ µ¿ÀûÀ¸·Î Àç¼³Á¤µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â ´ÙÀ½ °ªÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù.
ÁúÀÇ ÀçÀÛ¼ºÀº ½ÇÇà °èȹ °æ·Î¿Í À¯»çÇÏ°Ô Ã³¸®µË´Ï´Ù. µû¶ó¼ ÁúÀÇ ÀçÀÛ¼º°ú °ü·ÃµÈ °´Ã¼ ±ÇÇÑÀº ¾ø½À´Ï´Ù. µðÅ×ÀÏ Å×ÀÌºí¿¡ ´ëÇÑ ¾×¼¼½º¸¦ °¡Áö°í ÀÖ´Â »ç¿ëÀÚ´Â ¿ä¾à ÀçÀÛ¼º¿¡¼ ¾Ï½ÃÀûÀ¸·Î ÀÌÀÍÀ» ¾ò½À´Ï´Ù. »õ ÈùÆ®ÀÎ REWRITE¸¦ »ç¿ëÇÏ¿© ÁúÀÇ ÀçÀÛ¼ºÀÇ °í·Á ´ë»óÀÌ µÉ ±¸Ã¼ÈµÈ ºä¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç ´Ù¸¥ ÈùÆ®ÀÎ NOREWRITE¸¦ »ç¿ëÇÏ¿© ÁúÀÇ ºí·Ï¿¡ ´ëÇØ ÀçÀÛ¼ºÀ» ÇÏÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. Â÷¿ø Â÷¿øÀº ±âÁ¸ µ¥ÀÌÅͺ£À̽º Å×À̺íÀÇ ¿À» ±â¹ÝÀ¸·Î ÇÏ´Â °èÃþÀ» Á¤ÀÇÇÏ´Â Oracle8i µ¥ÀÌÅÍ µñ¼Å³Ê¸® ±¸Á¶ÀÔ´Ï´Ù. Â÷¿øÀº ¿É¼ÇÀÌÁö¸¸ ´ÙÀ½°ú °°Àº ÀÌÀ¯ ¶§¹®¿¡ »ç¿ëÇÒ °ÍÀ» Àû±ØÀûÀ¸·Î ±ÇÀåÇÏ°í ÀÖ½À´Ï´Ù.
Â÷¿ø¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »çÇ×Àº Oracle8i Server Tuning ¼³¸í¼¸¦ ÂüÁ¶ÇϽʽÿÀ. |
ÁúÀÇ ÀçÀÛ¼º ºñÈ°¼ºÈ
ÀÌ ¿¹Á¦¿¡¼ NOREWRITE ÈùÆ®´Â ÃÖÀû±â¿¡¼ ±¸Ã¼ÈµÈ ºä¸¦ »ç¿ëÇÏ´Â ÁúÀǸ¦ ÀçÀÛ¼ºÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ÀÌ Á¡¸¸ Á¦¿ÜÇÏ¸é ¸í·É¹®ÀÌ ÀÌÀü ¿¹Á¦¿Í µ¿ÀÏÇÕ´Ï´Ù. ÁúÀÇ¿¡¼ ÆÄ»ýµÈ ½ÇÇà °èȹÀº ±×·ìÀ» ¾òÀ¸·Á´Â Á¤·Ä°ú µÎ Å×ÀÌºí »çÀÌÀÇ Çؽà Á¶ÀÎÀ» Æ÷ÇÔÇÏ¿© ¿ø·¡ÀÇ ¸í·É¹®ÀÌ ½ÇÇàµÇ´Â °ÍÀ» º¸¿©ÁÝ´Ï´Ù.
REWRITE/NOREWRITE ÈùÆ®´Â ENABLE QUERY REWRITE ÀýÀ» °¡Áø CREATE ¶Ç´Â ALTER MATERIALIZED VIEW ¸í·É¿¡¼ ¼³Á¤µÈ ±¸Ã¼ÈµÈ ºä Á¤ÀǸ¦ ¹«È¿ÈÇÕ´Ï´Ù.