¾ÖÇø®ÄÉÀÌ¼Ç ¼³°è¿Í ¾ÖÇø®ÄÉÀÌ¼Ç Æ©´×Àº °¡Àå Å« ¼º´É ÀÌÁ¡À» Á¦°øÇÒ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷À» ½ÇÇàÇÏ´Â ±¸¹®ÀÌ ÀûÀýÇÏ°Ô ÀÛ¼ºµÇÁö ¾Ê¾ÒÀ» °æ¿ì, µ¥ÀÌÅÍ°¡ ¼±ÅÃµÈ ¹æ¹ý°ú ¼±ÅÃµÈ µ¥ÀÌÅÍÀÇ ¾çÀº ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼º´É¿¡ ½É°¢ÇÑ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.

µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ ÀÛ¾÷
º¸Åë ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ°¡ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß°ú SQL ¹®ÀÇ ÀÛ¼ºÀ» ´ã´çÇϱ⠶§¹®¿¡, µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ(DBA)´Â ¾ÖÇø®ÄÉÀÌ¼Ç Æ©´×¿¡ Á÷Á¢ °ü¿©ÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯³ª, DBA´Â À߸ø ÀÛ¼ºµÈ SQL ¹®ÀÌ µ¥ÀÌÅͺ£À̽º ȯ°æ¿¡ ¹ÌÄ¡´Â ¿µÇâ¿¡ ´ëÇؼ­ ¾Ë°í ÀÖÀ» ÇÊ¿ä°¡ ÀÖÀ¸¸ç, ¾ÖÇø®ÄÉÀÌ¼Ç Æ©´× ÀÛ¾÷À» µ½°í ºñÈ¿À²ÀûÀÎ SQL ¹®À» Áï½Ã ½Äº°ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.

Oracle8¿¡¼­´Â, ´ÙÀ½ µÎ °¡ÁöÀÇ ¿ÉƼ¸¶ÀÌÀú ¸ðµå¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù:

±ÔÄ¢ ±â¹Ý ÃÖÀûÈ­
ÀÌ ¸ðµå¿¡¼­, ¼­¹ö ÇÁ·Î¼¼½º´Â ÁúÀǸ¦ Á¶»çÇÏ¿© µ¥ÀÌÅÍ·ÎÀÇ ¾×¼¼½º °æ·Î¸¦ ¼±ÅÃÇÕ´Ï´Ù. ÀÌ ¿ÉƼ¸¶ÀÌÀú´Â ¾×¼¼½º °æ·Î ¼­¿­¿¡ ´ëÇÑ ¿Ïº®ÇÑ ¼¼Æ®ÀÇ ±ÔÄ¢À» °®°í ÀÖ½À´Ï´Ù.

°æÇèÀÖ´Â ¿À¶óŬ °³¹ßÀÚ´Â Á¾Á¾ ÀÌµé ±ÔÄ¢À» ¸Å¿ì Àß ÀÌÇØÇÏ°í Àֱ⠶§¹®¿¡ SQLÀ» Æ©´×ÇÒ ¼ö ÀÖ½À´Ï´Ù.

±ÔÄ¢ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú´Â ¹®ÀåÀÇ ±¸¹®À» »ç¿ëÇÏ¿© »ç¿ëµÉ ½ÇÇà °èȹÀ» Á¤ÇÕ´Ï´Ù.

¿ø°¡ ±â¹Ý ÃÖÀûÈ­
ÀÌ ¸ðµå¿¡¼­, ¿ÉƼ¸¶ÀÌÀú´Â °¢ ¹®ÀåÀ» °Ë»çÇÏ¿© µ¥ÀÌÅÍ·ÎÀÇ ¸ðµç °¡´ÉÇÑ ¾×¼¼½º °æ·Î¸¦ È®ÀÎÇÕ´Ï´Ù. ±×·± ´ÙÀ½, °¢ ¾×¼¼½º °æ·ÎÀÇ ÀÚ¿ø ºñ¿ëÀ» °è»êÇÏ¿© °¡Àå ºñ¿ëÀÌ Àû°Ô µå´Â °æ·Î¸¦ ¼±ÅÃÇÕ´Ï´Ù. ¿ø°¡ °è»êÀº ÁÖ·Î ³í¸®Àû ÀбâÀÇ ¼ö¸¦ ±âÃÊ·Î ÇÕ´Ï´Ù.

¿ø°¡ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú´Â Åë°è Áß½ÉÀ¸·Î, SQL ¹®°ú °ü·ÃµÈ °´Ã¼¿¡ ´ëÇØ »ý¼ºµÈ Åë°è¸¦ »ç¿ëÇÏ¿© °¡Àå È¿°úÀûÀÎ ½ÇÇà °èȹÀ» Á¤ÇÕ´Ï´Ù. SQL ¹® ³»ÀÇ ¾î¶°ÇÑ °´Ã¼¶óµµ °´Ã¼¿¡ ´ëÇØ »ý¼ºµÈ Åë°è°¡ ÀÖ´Ù¸é, ¿ø°¡ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú°¡ »ç¿ëµÉ °ÍÀÔ´Ï´Ù.

¿À¶óŬ »ç´Â ƯÈ÷ »õ·Î¿î ¾ÖÇø®ÄÉÀ̼ÇÀÌ º´·Ä ÁúÀǸ¦ »ç¿ëÇÒ °æ¿ì, »õ·Î¿î ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇØ ÀÌ ¿ÉƼ¸¶ÀÌÀú ¸ðµå¸¦ »ç¿ëÇÒ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.

ÁÖ: ±ÔÄ¢ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú¿¡ ÀÇÇØ »ç¿ëµÇ´Â ¼­¿­½Ã½ºÅÛ¿¡ °üÇÑ Ãß°¡ Á¤º¸¿¡ ´ëÇؼ­´Â Oracle8 Concepts, Release 8.0 manual ºÎºÐÀ» ÂüÁ¶ÇϽʽÿÀ.


¿ÉƼ¸¶ÀÌÀú ¸ðµå´Â ´ÙÀ½¿¡¼­ ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù:

  • ÀνºÅϽº ·¹º§, OPTIMIZER_MODE ÆĶó¹ÌÅÍ »ç¿ë
  • ¼¼¼Ç ·¹º§, OPTIMIZER_GOAL ¼³Á¤
  • ¹®Àå ·¹º§, ÈùÆ® »ç¿ë

ÀνºÅϽº¸¦ Àç½ÃÀÛÇØ¾ß Çϱ⠶§¹®¿¡, DBA°¡ OPTIMIZER_MODE¸¦ ÀνºÅϽº ·¹º§¿¡¼­ ¼³Á¤ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ´Â SQL ¹®¿¡¼­ ÈùÆ®¸¦ »ç¿ëÇÏ´Â °ÍÀº ¹°·ÐOPTIMIZER_MODE¸¦ ¼¼¼Ç ·¹º§¿¡¼­ ¼³Á¤ÇÒ ´É·ÂÀ» °®°Ô µÉ °ÍÀÔ´Ï´Ù.

OPTIMIZER_MODE ÆĶó¹ÌÅÍ
µðÆúÆ® °ªÀº CHOOSEÀÔ´Ï´Ù. ÀÌ°ÍÀº Å×ÀÌºí¿¡ ´ëÇØ Åë°è¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ» °æ¿ì, ¿ÉƼ¸¶ÀÌÀú°¡ ¿ø°¡ ±â¹Ý ¸ðµå¸¦ »ç¿ëÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ¿ÉƼ¸¶ÀÌÀú´Â ±ÔÄ¢ ±â¹Ý ÃÖÀûÈ­¸¦ »ç¿ëÇÕ´Ï´Ù.

´Ù¸¥ °¡´ÉÇÑ °ªÀº RULE, FIRST_ROWS, ALL_ROWS ÀÔ´Ï´Ù. ¸¶Áö¸· µÎ°³´Â ¿ø°¡ ±â¹Ý ÃÖÀûÈ­¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ¹æ¹ýµéÀ» ³ªÅ¸³À´Ï´Ù. FIRST_ROWS´Â Áï°¢ÀûÀÎ ÀÀ´ä½Ã°£À» ÃÖ¼ÒÈ­ÇÏ°í(¾Æ¸¶µµ Àüü ÀÀ´ä½Ã°£À» Èñ»ýÇÏ°í¼­), ALL_ROWS´Â ÃÑ ÀÀ´ä½Ã°£À» ÃÖ¼ÒÈ­ÇÕ´Ï´Ù.

OPTIMIZER_GOAL ¿É¼Ç
°³¹ßÀÚ´Â ALTER SESSION ¸í·ÉÀ» »ç¿ëÇÏ¿© ÀÌ ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
   ALTER SESSION SET OPTIMEZER_GOAL = value
°¡´ÉÇÑ °ªÀº OPTIMIZER_MODE ÆĶó¹ÌÅÍ¿¡ ´ëÇÑ °ª°ú °°½À´Ï´Ù.

¿ÉƼ¸¶ÀÌÀú ÈùÆ®
´ÙÀ½°ú °°ÀÌ, ¹®Àå¿¡ ÈùÆ®¸¦ ÄÚµùÇÒ ¼ö ÀÖ½À´Ï´Ù.
   SELECT /*+ FIRST_ROWS */  * FROM scott.emp;
°¡´ÉÇÑ ¿ÉƼ¸¶ÀÌÀú ÈùÆ®´Â RULE, FIRST_ROWS, ALL_ROWSÀÔ´Ï´Ù.

ÁÖÀÇ: ¸ðµç °¡´ÉÇÑ ÈùÆ®ÀÇ ¸ñ·Ï¿¡ ´ëÇؼ­´Â Oracle8 Tuning, Release 8.0 Æ©´× ºÎºÐÀ» ÂüÁ¶ÇϽʽÿÀ.

½ºÅ¸ ÁúÀÇ´Â ¡°½ºÅ¸¡± ½ºÅ°¸¶·Î ¾Ë·ÁÁø °ÍÀ» Áß½ÉÀ¸·Î Á¾Á¾ µ¥ÀÌÅÍ ¿þ¾îÇϿ콺 ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëµË´Ï´Ù. »ç½Ç(fact) Å×À̺í°ú ·è¾÷(lookup) Å×À̺íÀÌ ÀûÀýÇÏ°Ô ±¸Á¶È­µÇ¾úÀ» °æ¿ì, ¿ø°¡ ±â¹Ý ¿ÉƼ¸¶ÀÌÀú´Â ½ºÅ¸ ÁúÀǸ¦ ÀνÄÇÏ¿© ½ºÅ¸ ÁúÀÇ ½ÇÇà °æ·Î¸¦ ¼³Á¤ÇÕ´Ï´Ù.

½ºÅ¸ ÁúÀÇ Æ¯¼º

ÀÌ ¿¹¿¡¼­, »ç½Ç Å×À̺íÀº ¸ðµç ·è¾÷ Å×À̺íÀÇ ±âº»Å°(Primary key)·Î ÀÌ·ç¾îÁø ¿¬°á(concatenated) Å°¸¦ Æ÷ÇÔÇÕ´Ï´Ù.

´ÙÀ½ ÁúÀÇ´Â ½ºÅ¸ ÁúÀÇ ½ºÅ°¸¶¸¦ ÀÌ¿ëÇÕ´Ï´Ù:

  SELECT sum(dollars)
  FROM fact_table, time_table, product_table, market_table
  WHERE market_table.stat = 'New York' AND
  product_table.brand = 'Mybrand' AND
  time_table.year = '1998' AND
  time_table.month = 'March' AND
  product_table.key1 = fact_table.key1 AND
  market_table.key2 = fact_table.key2 AND
  time_table.key3 = fact_table.key3;

°ü·Ã ÆĶó¹ÌÅ͵é
STAR_TRANSFORMATION_ENABLED ÆĶó¹ÌÅÍ´Â ¿ø°¡ ±â¹Ý ÁúÀÇ º¯ÇüÀÌ ½ºÅ¸ ÁúÀÇ¿¡ Àû¿ëµÇ¾î¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µðÆúÆ® °ªÀº TRUEÀÔ´Ï´Ù. ÀÌ ÆĶó¹ÌÅÍ´Â ALTER SESSION ¸í·ÉÀ» »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù.

Çؽà °áÇÕÀº ÇÑ Å×À̺íÀÌ ´Ù¸¥ Å×ÀÌºíº¸´Ù ÇöÀúÇÏ°Ô Å« °æ¿ì µÎ°³ÀÇ Å×À̺íÀ» Á¶ÀÎÇϱâ À§ÇÑ È¿°úÀûÀÎ ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ¼öõ°³ÀÇ ÇàÀ» Æ÷ÇÔÇÏ´Â Á÷¿ø Å×À̺íÀº Çà ¼ö°¡ ÀûÀº ºÎ¼­ Å×À̺í°ú Á¶Àε˴ϴÙ.

Çؽð¡ ±¸ÃàµÇ°í ³ª¸é, °¡´ÉÇÏ´Ù¸é ¸Þ¸ð¸®¿¡ ÀúÀåµÇ¾î, ¼öÇàµÇ¾î¾ß ÇÏ´Â Å×ÀÌºí ½ºÄµÀÇ ¼ö¸¦ °¨¼Ò½ÃÄÑ Á¶ÀÎ ÀÛ¾÷À» ÈξÀ ´õ È¿°úÀûÀ¸·Î ¸¸µì´Ï´Ù.

 

À§ÀÇ ¿¹¿¡¼­:

  1. Çؽà °áÇÕÀº EMP Å×À̺í°ú DEPT Å×ÀÌºí °£¿¡ ¼öÇàµË´Ï´Ù. ±× °á°ú °¢ Å×À̺íÀ» Àüü Å×ÀÌºí ½ºÄµÇÕ´Ï´Ù.
  2. DEPT Å×À̺íÀÌ ´õ À۱⠶§¹®¿¡, DEPT Å×À̺íÀ» ±âº»À¸·Î ÇÏ¿© Çؽà Å×À̺íÀÌ ±¸ÃàµÈ ´ÙÀ½ ¸Þ¸ð¸®¿¡ ³õÀÔ´Ï´Ù.
  3. ±×·± ´ÙÀ½, µÎ Å×À̺í Áß¿¡¼­ ´õ Å« Å×À̺í(EMP Å×À̺í)ÀÌ Çؽà Å×À̺íÀ» ½ÃÇèÇϴµ¥ »ç¿ëµË´Ï´Ù.

°ü·Ã ÆĶó¹ÌÅÍ
Çؽà °áÇÕ¿¡ Áß¿äÇÑ 3°³ÀÇ ÆĶó¹ÌÅ͵éÀº ´ÙÀ½°ú °°½À´Ï´Ù:

SQL ¹®À̳ª PL/SQL ¸ðµâÀÇ ¼º´ÉÀ» Æò°¡Çϱâ À§ÇÏ¿© ¸¹Àº Áø´Ü ÅøµéÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ ÅøÀº °³¹ßÀÚ³ª DBA¿¡°Ô ´Ù¾çÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

ÃßÀûÀ» »ç¿ëÇÏÁö ¾Ê°í SQL *Plus¿¡¼­ EXPLAIN ¹®À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Áö¿øµÇ´Â utlxplan.sql ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© PLAN_TABLEÀ̶ó´Â Å×À̺íÀ» »ý¼ºÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. °¡Àå ¸¹Àº ¸ñÀû¿¡ À¯¿ëÇÑ ¿­Àº OPERATION, OPTIONS, OJBECT_NAMEÀÔ´Ï´Ù.

ÁúÀÇ¿¡ ´ëÇÑ °èȹÀ» ¼³¸íÇϱâ À§Çؼ­´Â, ´ÙÀ½ ±¸¹®À» »ç¿ëÇϽʽÿÀ:

   EXPLAIN PLAN FOR
   SELECT ...

±×·± ´ÙÀ½, PLAN_TABLEÀ» ÁúÀÇÇÏ¿© ½ÇÇà °èȹÀ» °Ë»çÇϽʽÿÀ.

PLAN_TABLEÀº ±× ¼ø°£ ¹®ÀåÀ» ½ÇÇà½ÃÅ°±â À§ÇÏ¿© ¼±ÅÃÇÒ °æ¿ì ¹®ÀåÀÌ ¾î¶»°Ô ½ÇÇàµÇ´Â°¡¸¦ ³ªÅ¸³À´Ï´Ù. ¹®ÀåÀ» ½ÇÇà½ÃÅ°±â Àü¿¡ º¯°æ(¿¹¸¦ µé¾î, À妽º »ý¼º)ÇÒ °æ¿ì ½ÇÁ¦ ½ÇÇàÀº ´Ù¸£°Ô ¼öÇàµÈ´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ.

¶ÇÇÑ, °èȹ ¼³¸í¿¡¼­ statement_id¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, ´Ù¸¥ ½ÇÇà °èȹÀ» »ý¼ºÇϱâ Àü¿¡ PLAN_TABLEÀ» Á¦°ÅÇϱ⸦ ¿øÇÒ °ÍÀÔ´Ï´Ù.

plan_table¿¡¼­ ½ÇÇà °èȹÀ» Á¶È¸Çϱâ À§Çؼ­´Â ´ÙÀ½ ÁúÀǸ¦ ½ÇÇà½ÃÅ°½Ê½Ã¿À:

   select id, operation, options, object_name, position from
   plan_table;

ÀÌ ¿¹Á¦¿¡¼­, PLAN_TABLE·ÎºÎÅÍ ¿ÀÁ÷ 3°³ÀÇ ¿­¸¸ ¼±ÅõǴµ¥, À̵éÀº ´ÙÀ½°ú °°½À´Ï´Ù:

EXPLAIN PLAN Ãâ·Â¿¡¼­ ºÎ¸ð(parent) ÇÁ·Î¼¼½º¸¦ °áÁ¤Çϱâ À§ÇÏ¿©, PLAN_TABLEÀÇ ID¿Í PARENT_ID¸¦ ¸ðµÎ ¼±ÅÃÇϽʽÿÀ.

½ÇÇà °èȹÀÇ Çؼ®
½ÇÇà °èȹÀÇ °¢ ´Ü°è´Â µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ ÇàÀ» ºÒ·¯¿À°Å³ª Çϳª ÀÌ»óÀÇ ´Ù¸¥ ´Ü°è·ÎºÎÅÍÀÇ ÀÔ·ÂÀ¸·Î¼­ ¿­À» ¹Þ¾ÆµéÀÔ´Ï´Ù. ½ÇÇà °èȹÀº ¾Æ·¡¿¡¼­ À§·Î »óÇâ½ÄÀ¸·Î ÀÐÇôÁý´Ï´Ù.

½ÇÇà °èȹÀÇ ºñ¿ëÀº ½ÇÇà °èȹÀ» »ç¿ëÇÏ´Â ¹®ÀåÀ» ½ÇÇàÇϴµ¥ ÇÊ¿äÇÑ ¿¹»ó °æ°ú ½Ã°£¿¡ ºñ·ÊÇÕ´Ï´Ù.

½ÇÇà °èȹÀº ÁúÀÇ¿¡ ´ëÇØ À妽º¸¦ »ý¼ºÇÏ°í »ç¿ëÇϴµ¥ ÀÖ¾î ÀÌÁ¡ÀÌ µÉ °ÍÀÌ ¹«¾ùÀÎÁö °áÁ¤Çϴµ¥ µµ¿òÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. Çö¸íÇÑ Æ©´×À¸·Î ÇöÀúÇÑ ¼º´É Çâ»óÀ» ÀÌ·ê ¼ö ÀÖ½À´Ï´Ù. SQL Trace³ª Autotrace¸¦ »ç¿ëÇÏ¿© ÀáÀçÀûÀ¸·Î Çâ»ó½Ãų ¼ö ÀÖ´Â ¿µ¿ªÀ» È®ÀÎÇϽʽÿÀ.

ÁÖÀÇ: PLAN_TABLEÀÇ ¿­¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¿¡ ´ëÇؼ­´Â Oracle8 tuning, Release 8.0 À» ÂüÁ¶ÇϽʽÿÀ.

¿©·¯ ´Ü°è Áß ÀϺΠ¼ø¼­´Â SQL ¹® ¼º´ÉÀ» ÀûÀýÇÏ°Ô Áø´ÜÇϴµ¥ ÇʼöÀÔ´Ï´Ù.

  1. SQL ¹® ¼º´ÉÀ» Áø´ÜÇϴµ¥ ÀÖ¾î ù¹ø° ´Ü°è´Â ÀûÇÕÇÑ ÃʱâÈ­  ÆĶó¹ÌÅ͸¦ º¸ÀåÇÏ´Â °ÍÀÔ´Ï´Ù. À̵é ÆĶó¹ÌÅÍ´Â ÀνºÅϽº ·¹º§¿¡¼­ ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â, ÀϺΠÆĶó¹ÌÅÍÀÇ ¼³Á¤Àº ½Ã½ºÅÛ ·¹º§°ú ¼¼¼Ç ·¹º§¿¡¼­ Áö¿øµË´Ï´Ù.
  2. SQL ÃßÀûÀº ÀνºÅϽº ·¹º§À̳ª ¼¼¼Ç ·¹º§¿¡¼­ ½Ãµ¿µÇ¾î¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ¼¼¼Ç ·¹º§¿¡¼­ ½Ãµ¿µÉ °æ¿ì, ÀüüÀûÀÎ ¼º´É °üÁ¡¿¡¼­ ÀÌ·ç¾îÁö´Â °ÍÀÌ ´õ ³´½À´Ï´Ù.
  3. Áø´ÜÇÏ°íÀÚ ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª SQL ¹®À» ½ÇÇà½ÃÅ°½Ê½Ã¿À.
  4. SQL ÃßÀûÀ» Á¾·áÇϽʽÿÀ. ÀÌ°ÍÀº ¿î¿µÃ¼Á¦ ·¹º§¿¡¼­ ÃßÀû ÆÄÀÏÀ» ÀûÀýÇÏ°Ô Á¾·á½ÃÅ°´Â µ¥¿¡  ÇÊ¿äÇÕ´Ï´Ù (±×·¸Áö ¾ÊÀ» °æ¿ì, TKPROF À¯Æ¿¸®Æ¼°¡ À¯È¿ÇÑ Ãâ·ÂÁ¤º¸¸¦ Á¦°øÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.)
  5. TKPROF¸¦ »ç¿ëÇÏ¿© ÃßÀû ¼¼¼Çµ¿¾È »ý¼ºµÈ ÃßÀû ÆÄÀÏÀ» Æ÷¸ËÇϽʽÿÀ. Ãâ·Â ÆÄÀÏÀÌ Æ÷¸ËµÇÁö ¾ÊÀ¸¸é, °á°ú¸¦ Çؼ®Çϴµ¥ ¸Å¿ì ¾î·Á¿ï °ÍÀÔ´Ï´Ù.
  6. TKPROF·ÎºÎÅÍ Ãâ·ÂµÈ Á¤º¸¸¦ »ç¿ëÇÏ¿© SQL ¹®ÀÇ ¼º´ÉÀ» Áø´ÜÇϽʽÿÀ.

init.ora ÆÄÀÏ¿¡¼­ 2°³ÀÇ ÆĶó¹ÌÅÍ´Â SQL ÃßÀû ±â´ÉÀ¸·ÎºÎÅÍ Ãâ·Â ÆÄÀÏÀÇ Å©±â¿Í ¸ñÀûÁö¸¦ Á¦¾îÇÕ´Ï´Ù.

   max_dump_file_size = n
   (default 500, measured in bytes if K or M is specified, otherwise
   the number represents operation system blocks)

SQL ÃßÀû±â´ÉÀÇ Ãâ·ÂÆÄÀÏÀÇ Å©±â°¡ Á¤ÀÇµÈ °ª¿¡ ÃÊ°úµÇ¾úÀ» ¶§, ÃßÀû Á¤º¸´Â ´õ ÀÌ»ó ÃßÀû ÆÄÀÏ¿¡ ±â·ÏµÉ ¼ö ¾ø½À´Ï´Ù. ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ ÆÄÀÏÀÇ ¸¶Áö¸·¿¡ ³ªÅ¸³³´Ï´Ù:
   *** Trace file full ***
   user_dump_dest = directory

ŸÀÌ¹Ö Á¤º¸¸¦ ¾ò±â À§ÇÏ¿© Á¦3ÀÇ ÆĶó¹ÌÅ͸¦ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù:

   timed_statistics = TRUE

ŸÀÌ¹Ö Åë°è´Â 100ºÐÀÇ 1ÃʷΠǥÇöµË´Ï´Ù. ÀÌ°ÍÀº 100ºÐÀÇ 1ÃÊ ¶Ç´Â ±× ÀÌÇÏÀÇ ½Ã°£ÀÌ °É¸®´Â ÀÛ¾÷Àº Á¤È®ÇÑ ½Ã°£ÀÌ °è»êµÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. (ƯÈ÷, ºü¸£°Ô ½ÇÇàµÇ´Â °£´ÜÇÑ ÁúÀÇ¿¡ ´ëÇؼ­) Oracle8¿¡¼­, TIMED_STATISTICS ÆĶó¹ÌÅÍ´Â ALTER SESSION ¸í·ÉÀ» »ç¿ëÇÏ¿© ¼¼¼Ç ·¹º§¿¡¼­ µ¿ÀûÀ¸·Î ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù.

SQL Trace´Â ÀνºÅϽº ·¹º§À̳ª ¼¼¼Ç ·¹º§¿¡¼­ ´Ù¸¥ ¹æ¹ýµéÀ» »ç¿ëÇÏ¿© È°¼ºÈ­ ¶Ç´Â ºñÈ°¼ºÈ­·Î µÉ ¼ö ÀÖ½À´Ï´Ù.

ÀνºÅϽº ·¹º§
SQL_TRACE ÆĶó¹ÌÅ͸¦ ÀνºÅϽº ·¹º§¿¡¼­ ¼³Á¤ÇÏ´Â °ÍÀº ÃßÀûÀ» È°¼ºÈ­ÇÏ´Â ÇÑ ¹æ¹ýÀÔ´Ï´Ù. ±×·¯³ª, ±×·¯±â À§Çؼ­´Â ÀνºÅϽº¸¦ Á¾·áÇÑ ´ÙÀ½ ÃßÀûÀÌ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾ÊÀ» ¶§ Àç½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. ÀÌ°ÍÀº ÀνºÅϽº¿¡ ´ëÇÑ ¸ðµç ¼¼¼ÇÀÌ ÃßÀûµÇ±â ¶§¹®¿¡, ¼º´É¸é¿¡¼­ ÇöÀúÇÑ Å¸°ÝÀ» ÁÝ´Ï´Ù.

¼¼¼Ç ·¹º§
¼¼¼Ç ·¹º§ ÃßÀûÀº ƯÁ¤ ¼¼¼ÇÀ» ÃßÀûÇÒ ¼ö Àֱ⠶§¹®¿¡ ÀüüÀûÀÎ ¼º´É¸é¿¡¼­ ¹Þ´Â Ÿ°ÝÀ» ÁÙÀÔ´Ï´Ù. SQL ¹®À» È°¼º ¶Ç´Â ºñÈ°¼ºÀ¸·Î ÇÏ´Â µ¥¿¡´Â ´ÙÀ½ÀÇ 3°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù:

TKPROF¸¦ »ç¿ëÇÏ¿© ÃßÀû ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖ´Â Ãâ·ÂÇüÅ·ΠÆ÷¸ËÇϽʽÿÀ.

Tkprof tracefile outputfile [sort=option] [print=n] [explain=username/password] [insert=filename] [sys=NO] [record=filename] [table=schema.tablename]

ÃßÀû ÆÄÀÏÀº USER_DUMP_DEST ÆĶó¹ÌÅÍ¿¡ ÀÇÇØ ÁöÁ¤µÈ µð·ºÅ丮¿¡¼­ »ý¼ºµÇ¸ç, Ãâ·Â °á°ú´Â Ãâ·ÂÆÄÀÏ¸í¿¡ ÀÇÇÏ¿© ÁöÁ¤µÈ µð·ºÅ丮¿¡ À§Ä¡ÇÕ´Ï´Ù.

TKPROF ¿É¼Ç

 ¿É¼Ç

 ¼³¸í

 TRACEFILE

 ÃßÀû Ãâ·Â ÆÄÀϸí

 OUTPUTFILE

 Æ÷¸ËµÉ ÆÄÀϸí

 SORT=option

 ¹®ÀåÀ» Á¤·ÄÇÏ´Â ¼ø¼­

 PRINT=n

 Ã³À½ n°³ÀÇ ¹®Àå ÇÁ¸°Æ®

 EXPLAIN=user/password

 ÁöÁ¤µÈ »ç¿ëÀÚ¸íÀ¸·Î EXPLAIN PLAN ½ÇÇà

 INSERT=filename

 INSERT ¹® »ý¼º

 SYS=NO

 »ç¿ëÀÚ sys·Î¼­ ½ÇÇàµÇ´Â ¼øȯÀû(recursive) SQL ¹® ¹«½Ã

 AGGREGATE=[Y|N]

 AGGREGATE=NO·Î ¼³Á¤ÇÑ °æ¿ì, TKPROF´Â µ¿ÀÏÇÑ SQL ÅؽºÆ®ÀÇ º¹¼ö »ç¿ëÀÚ ¼ö¸¦ ÃÑÇÕÇÏÁö ¾ÊÀ½

 RECORD=filename

 ÃßÀû ÆÄÀÏ¿¡¼­ ¹ß°ßµÈ ¹®Àå ±â·Ï

 TABLE=schema.tablename

 ½ÇÇà °èȹÀ» ƯÁ¤ Å×ÀÌºí¿¡ ¹èÄ¡ (µðÆúÆ®PLAN_TABLE ´ë½Å)

 
¸ðµç ÀÌ¿ë°¡´ÉÇÑ ¿É¼Ç°ú Ãâ·Â°á°úÀÇ ¸ñ·ÏÀ» ¾ò±â À§ÇÏ¿© ¿î¿µÃ¼Á¦¿¡¼­ tkprof¸¦ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÁÖÀÇ: Á¤·Ä ¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 Á¤·Ä ¿É¼Ç

 ¼³¸í

 Prscnt, execnt, fchcnt

 ±¸¹® ºÐ¼®, ½ÇÇà, ÆÐÄ¡°¡ È£ÃâµÈ Ƚ¼ö

 Prscpu, execpu, fchcpu

 ±¸¹® ºÐ¼®, ½ÇÇà, ÆÐÄ¡ÀÇ CPU »ç¿ë ½Ã°£

 Prsela, exela, fchela

 ±¸¹® ºÐ¼®, ½ÇÇà, ÆÐÄ¡ÀÇ ÃѼҿä½Ã°£

 Prsdsk, exedsk, fchdsk 

 ±¸¹® ºÐ¼®, ½ÇÇà, ÆÐÄ¡ µ¿¾È µð½ºÅ© Àбâ Ƚ¼ö

 Prsqry, exeqry, fchqry

 ±¸¹® ºÐ¼®, ½ÇÇà, ÆÐÄ¡ µ¿¾È consistent Àб⠹öÆÛÀÇ °³¼ö

 Prscu, execu, fchcu 

 ±¸¹® ºÐ¼®, ½ÇÇà, ÆÐÄ¡ µ¿¾È current Àб⠹öÆÛÀÇ °³¼ö

 Prsmis, exemis

 ±¸¹® ºÐ¼®, ½ÇÇà µ¿¾È ¶óÀ̺귯¸®Ä³½Ã miss Ƚ¼ö

 Exerow, fchrow 

 ½ÇÇà, ÆÐÄ¡ µ¿¾È ó¸®µÈ ÇàÀÇ ¼ö

 Userid

 Ä¿¼­¸¦ ±¸¹® ºÐ¼®ÇÑ userid

 

 Åë°è

 ÀǹÌ

 Count   

 ¹®ÀåÀÇ ±¸¹®ÀÌ ºÐ¼®µÇ°Å³ª ½ÇÇàµÇ°í ÆäÄ¡ È£ÃâÀÇ ¼ö°¡ ¹®Àå¿¡ ´ëÇØ ½ÇÇàµÇ´Â ȸ¼ö

 CPU

 °£ ´Ü°è¿¡ ´ëÇÑ Ã³¸® ½Ã°£, ÃʷΠǥ½Ã (¹®ÀåÀÌ °øÀ¯ Ç®¿¡¼­ ¹ß°ßµÇ¸é,  ±¸¹®ºÐ¼® ´Ü°è¿¡ ´ëÇÑ ½Ã°£Àº 0ÀÔ´Ï´Ù.)

 Elapsed 

 °æ°ú ½Ã°£, ÃʷΠǥ½Ã (´Ù¸¥ ÇÁ·Î¼¼½º°¡ °æ°ú ½Ã°£¿¡ ¿µÇâÀ» ¹ÌÄ¡±â ¶§¹®¿¡, ÀÌ Åë°è´Â ÀϹÝÀûÀ¸·Î µµ¿òÀÌ µÇÁö ¾Ê½À´Ï´Ù. )

 Disk 

 µ¥ÀÌÅͺ£À̽º ÆÄÀÏ¿¡¼­ ÀÐÇôÁø ¹°¸®Àû µ¥ÀÌÅÍ ºí·Ï (ÀÌ Åë°è´Â µ¥ÀÌÅÍ°¡ ¹öÆÛ¸µµÇ¸é, ²Ï ³·À» ¼öµµ ÀÖ½À´Ï´Ù.)

 Query 

 ÀÏ°üµÈ Àб⸦ À§ÇÏ¿© °Ë»öµÈ ³í¸®Àû ¹öÆÛ (ÀϹÝÀûÀ¸·Î SELECT ¹®¿¡ ´ëÇØ)

 Current 

 ÇöÀç ¸ðµå¿¡¼­ °Ë»öµÈ ³í¸®Àû ¹öÆÛ (ÀϹÝÀûÀ¸·Î DML ¹®¿¡ ´ëÇØ)

 Rows   

 ´Ù¸¥ ¹®Àå¿¡ ÀÇÇÏ¿© 󸮵Ǵ ¿­ (SELECT¹®ÀÇ °æ¿ì,  ÀÌ Åë°è´Â ÆäÄ¡ ´Ü°è¿¡ ´ëÇØ Ç¥½ÃµÇ°í, DML ¹®ÀÇ °æ¿ì ½ÇÇà ´Ü°è¿¡ ´ëÇØ Ç¥½ÃµË´Ï´Ù)


 Query¿Í CurrentÀÇ ÇÕ°è´Â ¾×¼¼½ºµÇ´Â ³í¸®Àû ¹öÆÛÀÇ ÃÑ ÇÕ°èÀÔ´Ï´Ù.
 
call    count    cpu    elapsed   disk   query   current  rows
----    -----    ----   -------   ----   -----   -------  ----
Parse       2    0.11      0.22     00       0         2     0   
Execute     4    0.00      0.00     00       0         4     0
Fetch     428    0.00      0.06    600     806       808  6400
----    -----    ----   -------   ----   -----   -------  ----
total     434    0.11      0.28    600     806       814  6400

¹®ÀåÀÇ ¼º´É °Ë»ç

TKPROF·ÎºÎÅÍÀÇ ´Ù¸¥ Ãâ·Â °á°ú

AUTOTRACE´Â SQL Trace ´ë½Å »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. AUTOTRACE¸¦ »ç¿ëÇÏ¿© ¾ò´Â ÀÌÁ¡Àº ÃßÀû ÆÄÀÏÀ» Æ÷¸ËÇÒ ÇÊ¿ä°¡ ¾øÀ¸¸ç, AUTOTRACE°¡ SQL ¹®¿¡ ´ëÇÑ ½ÇÇà°èȹÀ» ÀÚµ¿À¸·Î Ç¥½ÃÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

±×·¯³ª, AUTOTRACE´Â ¼³¸í°èȹÀÌ ¹®ÀåÀÇ ±¸¹®¸¸ ºÐ¼®ÇÏ´Â °÷¿¡¼­ ¹®ÀåÀÇ ±¸¹®À» ºÐ¼®ÇÏ°í ½ÇÇàÇÕ´Ï´Ù.

AUTOTRACE »ç¿ëÀ» À§ÇÑ ´Ü°è´Â ´ÙÀ½°ú °°½À´Ï´Ù:

  1. utlxplan.sql ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© PLAN_TABLE »ý¼º.
  2. plustrce.sql ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÄÑ »ç¿ëÀÚ¿¡°Ô ÃßÀû¿ªÇÒ ºÎ¿©.  ÀÌ°ÍÀº  V$ ºä¿¡ ´ëÇÑ ¼±Åà ±ÇÇÑÀ» ºÎ¿©ÇÕ´Ï´Ù.
  3. ¸¸¾à »ç¿ëÀÚ°¡ DBA roleÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù¸é plustrce roleÀ» ºÎ¿©ÇÕ´Ï´Ù.
  4. Trace¸¦ OnÀ¸·Î ¼³Á¤:
    - AUTOTRACE ONÀ» ¼³Á¤Çϸé, °á°ú ¼¼Æ®, ¼³¸í °èȹ, ¸ñ·Ï Åë°è¸¦ »êÃâÇÕ´Ï´Ù.
    - AUTOTRACE TRACEONLY¸¦ ¼³Á¤Çϸé, ¼³¸í °èȹ°ú Åë°è¸¦ ³ªÅ¸³À´Ï´Ù.

ºñÈ¿À²ÀûÀÎ SQL ¹®ÀÇ Áõ»ó
SQL¹®Àº ¿©·¯ °¡Áö ÀÌÀ¯·Î ÀÎÇÏ¿© À߸ø ½ÇÇàµË´Ï´Ù. °¡Àå ÀϹÝÀûÀÎ ÀÌÀ¯ Áß ÀϺδ ´ÙÀ½°ú °°½À´Ï´Ù.

¿ÉƼ¸¶ÀÌÀú°¡ À妽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù
¿ÉƼ¸¶ÀÌÀú°¡ ºñ·Ï ´õ È¿À²ÀûÀÌÁö¸¸, À妽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â »óȲÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù. SQL ¹®À» °Ë»çÇÏ¿© À妽º¸¦ »ç¿ëÇϵµ·Ï ÀçÀÛ¼ºÇÏ¿©¾ß ÇÕ´Ï´Ù.

¹®Àå¿¡ Æ®¸®±¸Á¶(Tree Walk)°¡ Æ÷ÇԵǾî ÀÖ´Ù
Æ®¸®±¸Á¶´Â CONNECT BYÀýÀ» »ç¿ëÇÏ¿© °èÃþÇü½ÄÀ¸·Î ÀúÀåµÈ Å×ÀÌÅ͸¦ °Ë»öÇÕ´Ï´Ù. Æ®¸®±¸Á¶¸¦ »ç¿ëÇÏ¿©¾ß ÇÒ °æ¿ì, START WITH¿Í CONNECT BY Àý¿¡ ÀÖ´Â ¿­¿¡ À妽º¸¦ ¼³Á¤ÇϽʽÿÀ.

¹®Àå¿¡ ±×·ì ÇÔ¼ö°¡ Æ÷ÇԵǾî ÀÖ´Ù  
´ÙÀ½°ú °°Àº 2°¡Áö ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù:

¹®Àå¿¡ DISTINCT Å°¿öµå°¡ Æ÷ÇԵǾî ÀÖ´Ù
DISTINCT¸¦ »ç¿ëÇÒ ¶§, µ¥ÀÌÅÍ´Â Á¤·ÄµË´Ï´Ù. ¹®ÀåÀÌ ¸¹Àº ÇàÀ» ¼±ÅÃÇÒ °æ¿ì, ¼­¹ö´Â Àӽà ¼¼±×¸ÕÆ®¸¦ »ý¼ºÇÏ¿© °³º° Á¤·Ä ½ÇÇàÀ» ó¸®ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº I/O ¹× ó¸® ¿À¹öÇìµå¸¦ ¾ß±â½ÃÅ°±â ¶§¹®¿¡, ÀÌ°ÍÀ» ÇÇÇØ¾ß ÇÕ´Ï´Ù.

¹®ÀåÀÌ º¹ÇÕ ºä¸¦ ±âº»À¸·Î ÇÏ°í ÀÖ´Ù.
ºä¸¦ »ç¿ëÇÒ ¶§, ºä¸¦ ÁúÀÇ¿Í ÅëÇÕÇÏ¿© 󸮵Ǵ ÇàÀÇ ¼ö¸¦ Á¦ÇÑÇÏ°íÀÚ ÇÒ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ºäÀÇ ÀϺΰ¡ µÇ´Â ¿­À» °Ë»öÇϱâ À§ÇÏ¿© ÁúÀÇ°¡ Å×À̺íÀ» ºÒÇÊ¿äÇÏ°Ô ¾×¼¼½ºÇÏÁö ¾Êµµ·Ï º¸ÀåÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, Å×À̺íÀ» Á÷Á¢ ÁúÀÇÇÏ¿© ¿­À» °Ë»öÇÒ °ÍÀÔ´Ï´Ù.

´ëü ÁúÀÇ
¿øÇÏ´Â °á°ú¸¦ Á¦°øÇÏ´Â SQL ¹®Àº ¿©·¯ °³°¡ ÀÖÀ» ¼ö ÀÖ´Ù´Â »ç½ÇÀ» ¸í½ÉÇϽʽÿÀ. °¢ ¹®ÀåÀº ´Ù¸¥ ¾×¼¼½º °æ·Î¸¦ »ç¿ëÇÏ¿© ´Ù¸£°Ô ¼öÇàµÉ ¼ö ÀÖ½À´Ï´Ù. DBA¿Í °³¹ßÀÚ ¸ðµÎ ´Ù¸¥ ÁúÀǵéÀ» »ç¿ëÇÏ¿© µ¿ÀÏÇÑ °á°ú¸¦ »êÃâÇÒ ¼ö ÀÖ´Â ¹æ¹ý¿¡ Àͼ÷ÇØ¾ß ÇÕ´Ï´Ù. 

¾ÖÇø®ÄÉÀÌ¼Ç Æ©´×¿¡´Â ¶ÇÇÑ ÆÐÅ°Áö, ÇÁ·Î½ÃÀú, Æ®¸®°Å¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. °¢ À¯ÇüÀÇ PL/SQL °´Ã¼°¡ ¿À¶óŬ ³»¿¡ ÄÄÆÄÀÏµÈ ÇüÅ·ΠÀúÀåµÇ¾î ÀÖ´Ù´Â »ç½Ç ¶§¹®¿¡ »ç¿ë¹æ¹ýÀ» Æ©´×ÇÒ ÇÊ¿ä°¡ ¾ø´Â °ÍÀº ¾Æ´Õ´Ï´Ù.

°´Ã¼´Â ±¸¹®ÀÌ ºÐ¼®µÈ ´ÙÀ½, °øÀ¯ Ç®¿¡ ij½¬µÇ¾î ±¸¹®ºÐ¼®µÈ ¹öÀüÀÌ Àç»ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, °´Ã¼°¡ °øÀ¯ Ç®¿¡¼­ ¿À·¡µÇ¾î ¹Ð·Á³ª°¥ °æ¿ì, ½ÇÇàµÉ ¶§ ´Ù½Ã ±¸¹® ºÐ¼®À» ÇØ¾ß µÇ±â ¶§¹®¿¡, ¼º´É¿¡ Ÿ°ÝÀ» ÁÖ°Ô µË´Ï´Ù.

°´Ã¼¸¦ °øÀ¯ Ç®¿¡ °íÁ¤ÇÒ ¼ö Àִµ¥, ÀÌ°ÍÀº ¿À·¡µÇ¾îµµ »èÁ¦µÇÁö  ¾Êµµ·Ï º¸ÀåÇϱ⠶§¹®¿¡, ÀÚ¿ø ºñ¿ëÀÌ ¸¹ÀÌ µå´Â ±¸¹®ºÐ¼® ÀÛ¾÷À» ÃÖ¼ÒÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ³ª DBA´Â ±×·¯ÇÑ PL/SQL ÇÁ·Î½ÃÀúÀÇ »ç¿ëÀ» ÃßÀûÇÏ¿© °øÀ¯µÇ´Â ¿À¶óŬ ±¸Á¶¸¦ È¿°úÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

µ¿ÀûÀÎ ¼º´É ºä
µ¿ÀûÀÎ ¼º´É ºä¸¦ ÁúÀÇÇÏ¿© ÇöÀç ¼¼¼ÇÀ̳ª ÀνºÅϽº¿¡ °üÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä
¸¹Àº µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä´Â °´Ã¼ ¹× Åë°è¿¡ °üÇÑ Á¤º¸¸¦ ¾ò±â À§ÇÏ¿© ÁúÀÇµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌµé ºä·Î´Â USER_*, ALL_*, DBA_* ºä°¡ ÀÖ½À´Ï´Ù. ¿¹·Î, USER_TABLES, ALL_TABLES, DBA_TABLES, USER_INDEXES, ALL_INDEXES, DBA_INDEXES µî ÀÔ´Ï´Ù.

ÂüÁ¶

 ¹®¸Æ

 ÂüÁ¶

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

HASH_AREA_SIZE
HASH_JOIN_ENABLED
HASH_MULTIBLOCK_IO_COUNT
STAR_TRANSFORMATION_ENABLED
USER_DUMP_DEST
TIMED_STATISTICS
SQL_TRACE
OPTIMIZER_MODE

 µ¿ÀûÀÎ ¼º´É ºä

V$MYSTAT
V$PARAMETER
V$SYSTEM_ PARAMETER

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

´Ù¾çÇÑ USER_*, ALL_*, DBA_* ºäµé

 ¸í·É¾î

ALTER SYSTEM
ALTER SESSION
EXPLAIN PLAN

 ÇÁ·Î½ÃÀú

SYS.DBMS_SESSION.SET_SQL_TRACE
SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION

X Á¤´ä:C


X Á¤´ä:A


X Á¤´ä:C


X Á¤´ä:B


X Á¤´ä:AF


X Á¤´ä:C