¾È³çÇϼ¼¿ä. DB2 ¹× XpertMon »ç¿ëÀÚ ¿©·¯ºÐ!
¢ß ¾ÆÀÌƼ¿¢½ºÆÛÆ®±×·ì DB »ç¾÷ºÎÀÔ´Ï´Ù.
À̹øÁÖ ´º½º·¹ÅÍ´Â È¿°úÀûÀÎ SQL ÀÛ¼º, Áï SQLÀ» ´õ ºü¸£°Ô ½ÇÇàÇÒ ¼ö ÀÖ´Â ÀÛ¼º¹æ¹ý¿¡
´ëÇØ »ìÆ캸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
È¿°úÀûÀ¸·Î SQLÀ» ÀÛ¼ºÇÏ°Ô µÇ¸é, ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖÀ¸¹Ç·Î,
ÃÖ¼ÒÀÇ ºñ¿ëÀ¸·Î ½Ã½ºÅÛÀÇ ¾ÈÁ¤¼º°ú È¿À²¼ºÀ» ³ôÀÏ ¼ö ÀְԵ˴ϴÙ.
È¿°úÀûÀÎ SQL ÀÛ¼º °¡À̵å
- ½ÇÁ¦·Î ÇÊ¿äÇÑ Ä÷³µé¸¸ °¡Á®¿Àµµ·Ï SQLÀ» ÀÛ¼ºÇϽʽÿÀ.
select * ¹®Àº »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À. Ä÷³ ¼ö°¡ ¸¹¾ÆÁú¼ö·Ï CPU »ç¿ë·üÀÌ ³ô¾ÆÁý´Ï´Ù.
- WHERE ÀýÀ» ÀûÀýÈ÷ »ç¿ëÇÏ¿© ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ ÀûÀýÈ÷ Á¦ÇÑÇϵµ·Ï ÇÕ´Ï´Ù.
- Host º¯¼ö¸¦ »ç¿ëÇÒ °æ¿ì Å×À̺í Ä÷³ Type°ú ±æÀÌ¿Í µ¿ÀÏÇÏ°Ô Á¤ÀÇÇÏ¿© »ç¿ëÇϽʽÿÀ.
¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, DB2°¡ À妽º¸¦ »ç¿ëÇÒ ¼ö ¾ø¾î¼ ¼º´É¿¡ ºÎÁ¤ÀûÀÎ ¿µÇâÀ» ¹ÌÄ¡°Ô µË´Ï´Ù.
¿¹¸¦ µé¾î, CHAR(6)À¸·Î Á¤ÀÇµÈ Ä÷³À» CHAR(4)³ª CHAR(7) ÀÎ Çʵå¿Í ºñ±³ÇÏ°Ô µÇ¸é
µ¥ÀÌÅÍ º¯È¯ÀÌ ÀϾ°í DB2°¡ À妽º¸¦ »ç¿ëÇÏ´Â ´ë½Å µ¥ÀÌÅÍ ½ºÄµÀ» ÇÏ°ÔµÇ¾î ¼º´ÉÀÌ ÀúÇϵ˴ϴÙ.
- SQL ¹®Àå¿¡ Order by ÀýÀ» »ç¿ëÇÏ°Ô µÇ¸é ¸ðµç cursor ÇÁ·Î¼¼½ÌÀ» ¼öÇàÇØ¾ß ÇϹǷÎ,
²À ÇÊ¿äÇÑ Ä÷³¸¸ Order by ¸¦ »ç¿ëÇϽʽÿÀ.
- Select °á°ú ¸®ÅϵǴ ÇàÀÇ ¼ö°¡ ÇÑ °ÇÀÏ °æ¿ì¿¡´Â SELECT INTO ÀýÀ» »ç¿ëÇÏ´Â °ÍÀÌ
Cursor¸¦ »ç¿ëÇÏ´Â °Íº¸´Ù ¼º´É¿¡ ÁÁ½À´Ï´Ù. ÇÏÁö¸¸, °á°ú µ¥ÀÌÅ͸¦ º¯°æÇØ¾ß ÇÏ´Â
°æ¿ì¿¡´Â FOR UPDATE OF ¸¦ ÀÌ¿ëÇÏ´Â Cursor·Î ¼±¾ðÇÏ´Â °ÍÀÌ °»½ÅµÇ´Â Row¿¡
Exclusivce LockÀ» °É¾î µ¥ÀÌÅÍ ¹«°á¼ºÀ» º¸ÀåÇØÁֹǷΠ´õ ÁÁ½À´Ï´Ù.
- Á¶È¸ Àü¿ëÀÏ °æ¿ì¿¡´Â Select ¹®¿¡ FOR FETCH ONLY ÀýÀ» »ç¿ëÇÕ´Ï´Ù.
- DISTINCTÀÇ »ç¿ëÀ» ÇÇÇÕ´Ï´Ù. Distinct ¸¦ »ç¿ëÇϸé Sort°¡ ¹ß»ýÇϹǷÎ, Áߺ¹¿¡
º° ¹®Á¦°¡ ¾ø´Ù¸é »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.
- JOIN Àº Ưº°ÇÑ »óȲÀ» Á¦¿ÜÇϸé 5°³ À̳»·Î Á¦ÇÑÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
¸¸¾à ±× ÀÌ»ó Å×À̺íÀ» »ç¿ëÇؾßÇϸé, Subquery ´ë½Å¿¡ Join À» »ç¿ëÇϽʽÿÀ.
Optimizer °¡ JoinÀ» »ç¿ëÇÒ ¶§ µ¥ÀÌÅÍ Á¢±Ù ¹æ¹ýÀ» ´õ ¸¹ÀÌ °¡Áö°í Àֱ⠶§¹®ÀÔ´Ï´Ù.
±×·¯³ª ¿¹¿Üµµ ÀÖÀ¸¹Ç·Î Äõ¸®º°·Î Å×½ºÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù.
- ORDER BY, GROUP BY, DISTINCT, UNION À» »ç¿ëÇÒ °æ¿ì ÇØ´ç Ä÷³¿¡ Index ¸¦ Ãß°¡ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
- ´ë¾ÈÀÌ ÀÖ´Ù¸é SQL Á¶°Ç ³»¿¡¼ SUBSTR ÇÔ¼öÀÇ »ç¿ëÀ» ÇÇÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº °æ¿ì substr ´ë½Å like¸¦ »ç¿ëÇϽʽÿÀ.
like¸¦ »ç¿ëÇÏ´Â °æ¿ì index ¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù.
¿¹) select custinfo from sales where substr(serial,1,4) = ¡®1333¡¯
select custinfo from sales where serial like ¡®1333%¡¯
|
- SQLÀÇ ±âÁ¸ ÇÔ¼ö(AVG,COUNT,MAX,MIN,SUM)¸¦ »ç¿ëÇϽʽÿÀ.
SQLÀÇ ±âÁ¸ ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀÌ·± ÇÔ¼ö¸¦ ÀÀ¿ëÇÁ·Î±×·¥À¸·Î ¸¸µé¾î »ç¿ëÇÏ´Â °Íº¸´Ù ´õ È¿°úÀûÀÔ´Ï´Ù.
- ´ë¾ÈÀÌ ÀÖ´Ù¸é SQLÀÇ Scalar ÇÔ¼öÀÇ »ç¿ëÀ» ÇÇÇÕ´Ï´Ù.
µ¥ÀÌÅÍ ÇüÅÂÀÇ º¯°æ, ¹®ÀÚ¿ÀÇ Á¶ÀÛ, ±×¸®°í ³¯Â¥/½Ã°£ÀÇ º¯°æµéÀ» À§ÇØ »ç¿ëµÇ´Â
SQL Scalar ÇÔ¼ö(INTEGER, DECIMAL, HEX, SUBSTµî)´Â »ç¿ëÀ» ÇÇÇϽʽÿÀ.
- ÀÚÁÖ °»½ÅµÇÁö ¾Ê´Â Ä÷³µéÀº Å×À̺íÀÇ ÃÊÀÔ¿¡ µÎ°í, ¹Ý¸é¿¡ ÀÚÁÖ °»½ÅµÇ´Â Ä÷³µéÀº
Å×ÀÌºí ³¡¿¡ µÓ´Ï´Ù. ÀÌ°ÍÀº DB2 LOG¿¡ ¾î¶»°Ô DB2°¡ º¯ÈÇÑ °ÍÀ» ±â·ÏÇÏ´ÂÁö¸¦
¿¬°üÁö¾î¼ È¿°úÀûÀ¸·Î °í·ÁÇÑ °ÍÀÔ´Ï´Ù.
- ÀϹÝÀûÀ¸·Î, VARCHAR Ä÷³Àº Å×ÀÌºí ³¡¿¡ µÓ´Ï´Ù.
¸¸¾à ÀÚÁÖ °»½ÅµÇ´Â Ä÷³ÀÌ ÀÖ´Ù¸é ÀÚÁÖ °»½ÅµÇ´Â Ä÷³À» VARCHAR Ä÷³º¸´Ù
¿ì¼±ÀûÀ¸·Î Å×À̺íÀÇ ³¡¿¡ µÓ´Ï´Ù.
- <=, >= º¸´Ù´Â BETWEENÀ» »ç¿ëÇÕ´Ï´Ù. BETWEENÀº Optimizer¿¡°Ô ´õ È¿°úÀûÀÎ
Á¢±Ù °æ·Î¸¦ ¼±ÅÃÇÏ°Ô ÇØÁÝ´Ï´Ù.
- ¹èÄ¡ ÇÁ·Î±×·¥ ¼öÇà½Ã, 󸮵Ǵ input dataÀÇ ¼ø¼¸¦ Access ÇÏ´Â Å×À̺íÀÇ
µ¥ÀÌÅÍ ¼ø¼¿Í µ¿ÀÏÇÏ°Ô ¸ÂÃß¾î ÁֽʽÿÀ ÀÌ·¸°Ô Çϸé DB2 °¡ sequential prefetch¸¦
¼öÇàÇϱ⠶§¹®¿¡ ¼º´ÉÀ» ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù.
- multicolumn indexÀÇ °æ¿ì IndexÀÇ Matching Ä÷³¼ö°¡ ¸¹µµ·Ï Äõ¸®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
- CommitÀ» ÀÚÁÖÇϸé, ¼öÇà½Ã°£¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. CommitÀ» ÀûÀýÈ÷ Á¶ÀýÇϽʽÿÀ.
- LIKE ´ë½Å INÀ» »ç¿ëÇÕ´Ï´Ù. ¸¸¾à ÀϾ ¼ö Àִ ƯÁ¤ ¼ö¸¸ ¾Ë°í ÀÖ´Ù¸é, LIKE¸¦ »ç¿ëÇÏ´Â
°Íº¸´Ù IN¿¡ ¸ñ·ÏÀ» ³ª¿ÇÏ´Â °ÍÀÌ ´õ È¿°úÀûÀÔ´Ï´Ù.
¿¹¸¦ µé¾î, ¸¸¾à Last NameÀÌ MÀ¸·Î ½ÃÀÛÇÏ´Â ¸ðµç ±Ù·ÎÀÚ¸¦ ã´Â´Ù¸é,
LIKE ¡®m%¡¯ ´ë½Å¿¡ BETWEEN ¡®maaaaaaaaaaaaaa¡¯ and ¡®mzzzzzzzzzzzzzz¡¯¸¦ »ç¿ëÇϽʽÿÀ.
- NOTÀÇ »ç¿ë(EXISTS´Â Á¦¿Ü)À» ÇÇÇÕ´Ï´Ù. NOTÀº ´ÜÁö ¸Å¿ì º¹ÀâÇÑ Á¶°Ç¿¡¼¸¸ ¼±ÅÃÀûÀ¸·Î »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
- ¸¸¾à ÀÀ¿ëÇÁ·Î±×·¥ ³»ÀÇ Ä÷³ °ªÀ» ÀÌ¹Ì ¾Ë°í ÀÖ´Ù¸é, SELECT Àý¿¡ Ä÷³ÀÇ »ç¿ëÀ» ÇÇÇÕ´Ï´Ù.
¿¹) select c1,c2,c3 into :c1, :c2,:c3 from t1 where c1 = :c1
|
- SELECT ¹®ÀÇ °á°ú Áߺ¹µÈ ÇàÀÌ ¾ø´Ù°í ¾Ë°í Àְųª, Áߺ¹µÈ µ¥ÀÌÅÍ°¡ À־ µÈ´Ù¸é ,
UNION ´ë½Å UNION ALLÀ» »ç¿ëÇÕ´Ï´Ù.
- ºÎÁ¤ÀÇ ³í¸®·Î Subquery¸¦ ÀÛ¼ºÇÒ ¶§, SQL¹®ÀÇ È¿À²¼ºÀ» ³ôÀ̱â À§ÇÏ¿© °¡´ÉÇϸé
NOT IN ´ë½Å NOT EXISTS¸¦ »ç¿ëÇÕ´Ï´Ù. NOT EXISTS¸¦ »ç¿ëÇÒ ¶§, DB2´Â ´ÜÁö
Á¸ÀçÇÏÁö ¾Ê´Â °Í¸¸ È®ÀÎÇÏÁö¸¸ NOT INÁ¶°ÇÀ» Æ÷ÇÔÇϸé, DB2´Â ¿Ïº®ÇÑ °á°ú¼ÂÀ»
±¸¼ºÇؼ Á¶°ÇÀ» ºñ±³ÇÏ°Ô µË´Ï´Ù.
- JOINÀº Subquery º¸´Ù ´õ È¿À²ÀûÀÔ´Ï´Ù.
¿¹) select eno,ename from emp , proj
where workdept = deptno and empno = respemp (O)
select eno, ename from emp
where workdept = ( select deptno from proj
where respemp = emp.empno) (X)
|
XpertMon for DB2 UDB V2
DB »ç¾÷ºÎ
Tel : 02-2108-1458
Fax : 02-2108-1459
Mobile : 011-896-6545
E-mail : hjlee@iteg.co.kr
URL : http://iteg.co.kr
|
|
|