ÃֽŠ°Ô½Ã±Û(DB)
2017.04.26 / 20:11

MySql °èÃþÀû Á¶È¸ Äõ¸® - °Ô½ÃÆÇ ¹«ÇÑ ´äº¯ °èÃþÇü

tomcater
Ãßõ ¼ö 367
MySQL ¿¡´Â ¾ÈŸ±õ°Ôµµ Oracle ÀÇ start with, connect by ¸¦ Áö¿øÇÏ´Â ÇÔ¼ö°¡ ¾ø´Ù... 

¶§¹®¿¡ ¾Æ·¡¿Í °°ÀÌ function À» ¸¸µé¾î¼­ »ç¿ëÇÑ´Ù.

¿¹Á¦ Å×À̺í) test.servers_group

create table test.servers_group 
(
 group_idx int auto_increment,     // P.K
 group_name varchar(40),           // group name
 group_depth int,                       // level
 group_order int,                        // group ¼ø¼­
 parent_idx int,                          // parent group_idx
 manager_idx,                           // °ü¸®ÀÚ idx (test.managers_info.idx)
 primary key(group_idx) 
)
---------------------------------------------------------------------------------------------------------------------------
>> Create Function 
CREATE FUNCTION start_with_connect_by(value INT) RETURNS INT
NOT DETERMINISTIC
READS SQL DATA
BEGIN
        DECLARE _id INT;
        DECLARE _parent INT;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET @id = NULL;

        SET _parent = @id;
        SET _id = -1;

        IF @id IS NULL THEN
                RETURN NULL;
        END IF;

        LOOP
                SELECT  MIN(group_idx)
                INTO    @id
                FROM    test.servers_group
                WHERE   parent_idx = _parent
                        AND group_idx > _id;
                IF @id IS NOT NULL OR _parent = @start_with THEN
                        SET @level = @level + 1;
                        RETURN @id;
                END IF;
                SET @level := @level - 1;
                SELECT  group_idx, parent_idx
                INTO    _id, _parent
                FROM    test.servers_group
                WHERE   group_idx = _parent;
        END LOOP;
END
---------------------------------------------------------------------------------------------------------------------------
>> »ç¿ë
SELECT  CONCAT(REPEAT('   ', group_depth - 1), CAST(sg.group_idx AS CHAR)) AS group_idx, group_name, parent_idx, group_depth, manager_idx
FROM    (
        SELECT  start_with_connect_by(group_idx) AS id, @level AS level
        FROM    (
                SELECT  @start_with := 0,
                        @id := @start_with,
                        @level := 0
                ) vars, test.servers_group
        WHERE   @id IS NOT NULL
        ) sg2
JOIN    test.servers_group sg
ON      sg.group_idx = sg2.id;
---------------------------------------------------------------------------------------------------------------------------
>> °á°ú





===========================================================================================
Function ¸¸µé±â ´Ù¸¥ ¿¹Á¦ 

CREATE TABLE test.dept_code ( 
code VARCHAR(50), 
name VARCHAR(50), 
parent_code VARCHAR(50) 
);
INSERT INTO test.dept_code VALUES( 'A001', '¿¬±¸¼Ò' , '');
INSERT INTO test.dept_code VALUES( 'A002', '¼Ö·ç¼Ç»ç¾÷º»ºÎ' , '');
INSERT INTO test.dept_code VALUES( 'A003', '±â¼úÁö¿øºÎ', '' );
INSERT INTO test.dept_code VALUES( 'A004', '°³¹ß1ÆÀ' , 'A001');
INSERT INTO test.dept_code VALUES( 'A005', '°³¹ß2ÆÀ' , 'A001');
INSERT INTO test.dept_code VALUES( 'A006', 'OJT' , 'A005');

CREATE FUNCTION GET_DEPT_TREE(value VARCHAR(50)) RETURNS VARCHAR(50) 
NOT DETERMINISTIC
READS SQL DATA
BEGIN
        DECLARE _code VARCHAR(50);
        DECLARE _parent VARCHAR(50);
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET @code = NULL;

        SET _parent = @code;
        SET _code = '';
        
        IF @code IS NULL THEN
                RETURN NULL;
        END IF;

       LOOP
                SELECT  MIN(code)
                INTO    @code
                FROM    test.dept_code
                WHERE   parent_code = _parent
                        AND code > _code;
                IF @code IS NOT NULL OR _parent = @start_with THEN
                        SET @level = @level + 1;
                        RETURN @code;
                END IF;
                SET @level := @level - 1;
                SELECT  code, parent_code
                INTO    _code, _parent
                FROM    test.dept_code
                WHERE   code = _parent;
        END LOOP;
END


SELECT  dc.code, CONCAT(REPEAT('       ', dc2.lev-1), name) AS name, parent_code, CAST(dc2.lev AS CHAR) AS lev
FROM    (
        SELECT  GET_DEPT_TREE(code) AS code, @level as lev
        FROM    (
                SELECT  @start_with := '',
                        @code := @start_with,
                        @level := 0
                ) vars, test.dept_code
        WHERE   @code IS NOT NULL
        ) dc2
JOIN    test.dept_code dc
ON      dc.code = dc2.code;











¾Æ·¡ ´Ù¸¥ ¹æ¹ýµµ ÀÖ´Ù. (¹°·Ð ±×¸® ÁÁÀº ¹æ¹ýÀº ¾Æ´Ï´Ù...)

-------------------------------------------------------------------------------------------

- ´Ü¼ø ¾÷µ¥ÀÌÆ®Çü

¿¹Àü¿¡ ¸¹ÀÌ ¾²¿´´ø ºñ±³Àû °£´ÜÇÑ ÇüÅÂÀÇ °èÃþÇü ·ÎÁ÷À» »ý°¢ÇÏÀÚ¸é, ±Û¿¡ ´äº¯ ´Þ ¶§ ±× À§Ä¡ À§(ȤÀº ¾Æ·¡)ÀÇ ¸ðµç ±ÛÀÌ ÇÑÄ­¾¿ À̵¿Çϵµ·Ï ÇÏ¸é µÈ´Ù. 

¿¹¸¦ µé¸é, ±ÛÀ» ¾µ ¶§¸¶´Ù ÀϷùøÈ£¸¦ ÁÖ°í, 2¹ø±Û¿¡ ´äº¯À» ´Þ¸é, 2¹ø À­±ÛÀº ±Û¹øÈ£¸¦ ¸ðµÎ Çϳª¾¿ ´õÇØ ÁÖ±¸¿ä(Áï 2->3, 3->4, update ¹®À» ÀÌ¿ëÇϸé ÇѹøÀÇ Äõ¸®·Î ÀÌ°ÍÀÌ °¡´ÉÇÏ´Ù). 

±×¸®°í ´äº¯±Û¿¡ 2¶ó´Â ¹øÈ£¸¦ ÁÖ¸é µÇ´Â ¹æ¹ýÀ̾ú´Ù

(»ó´çÈ÷ ¹«½ÄÇÑ ¹æ¹ýÀÌ´Ù.) ´ÙÀ½Àº ±× ¹æ¹ýÀ¸·Î ±¸ÇöÇÒ °æ¿ì¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù

 

Áú¹®±Û¸¸ ¿Ã¶ó¿Â °æ¿ì

±Û¹øÈ£Á¦¸ñ
3¼¼¹ø°·Î ¿Ã¶ó¿Â ±Û
2µÎ¹ø°·Î ¿Ã¶ó¿Â ±Û
1ù¹ø°·Î ¿Ã¶ó¿Â ±Û

 

´äº¯ÀÌ ´Þ¸®´Â °æ¿ì

±Û¹øÈ£Á¦¸ñ
4¼¼¹ø°·Î ¿Ã¶ó¿Â ±Û
3µÎ¹ø°·Î ¿Ã¶ó¿Â ±Û
2    µÎ¹ø° ±ÛÀÇ ´äº¯À¸·Î ¿Ã¶ó¿Â ±Û
1ù¹ø°·Î ¿Ã¶ó¿Â ±Û

 

ÀÌ ¹æ½ÄÀº ASP Ãʱ⿡ Á¶±Ý ¾²¿´´ø ¹æ¹ýÀÌ´Ù. 

±×·±µ¥, ¸¸¾à ±ÛÀÌ 1¸¸°³ Àε¥, ¸¶Áö¸· ±Û¿¡ ´äº¯À» ÇÑ´Ù°í »ý°¢ÇØ º¸¸é. 

ù ¹ø°±ÛºÎÅÍ ¸¶Áö¸· ±Û±îÁö 1¸¸°³ ·¹Äڵ忡 ±Û¹øÈ£¸¦ 1¾¿ ´õÇØÁÖ¾î¾ß¸¸ Çß´Ù. 

1¸¸°³ÀÇ ·¹Äڵ带 ¹Ù²Ù´Â °ÍÀº ¾Æ¹«¸® ºü¸¥ ÄÄÇ»ÅͶó Çصµ ¸î ÃÊ°¡ °É¸± ¼ö ÀÖ´Ù.

(À¥¿¡¼­ ¸î ÃÊ´Â ´ë´ÜÈ÷ Áß¿äÇÕ´Ï´Ù. ¹é ¸íÀÌ µ¿½Ã Á¢¼ÓÇÑ´Ù¸é ÀÌ·ÐÀûÀ¸·Î ¸î ¹éÃÊ°¡ °É¸®´Â Á¤µµÀÇ ºÎÇÏ°¡ ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù), ÇöÀç´Â ÀÌ ¹æ¹ýÀ» ÃßõÇÏÁö ¾Ê°í ÀÖ´Ù.

 

ÀÌ¿Í °°Àº ·ÎÁ÷Àº ·¹Äڵ带 Ãß°¡ ÇÒ¶§¸¶´Ù, ±× ¼ø¼­¸¦ update¹®À¸·Î ¹Ù²Ù±â ¶§¹®¿¡ '¾÷µ¥ÀÌÆ®Çü'À̶ó°í º¸Åë ºÒ´Ù. 1¸¸°³ÀÇ ±Û¿¡, ¸¶Áö¸·¿¡ ´äº¯ÇÒ »ç¶÷Àº °ÅÀÇ ¾ø±â¶§¹®¿¡, ÀÌ ·ÎÁ÷À» ÀÌ¿ëÇÑ´Ù°í °Ô½ÃÆÇÀÌ ¸Å¿ì ´À·ÁÁö´Â °ÍÀº »ç½Ç ¾Æ´Ï´Ù. º¸Åë ÃÖ±Ù ±Û¿¡ ´äº¯Çϱ⠶§¹®¿¡, ¸¹Àº ÇàÀÌ ¾÷µ¥ÀÌÆ® µÇÁø ¾Ê´Â´Ù. ÇÏÁö¸¸, ¾î·µç ºñÈ¿À²ÀûÀÎ °ÍÀº »ç½ÇÀÎÁö¶ó, ÃÖ±Ù¿¡´Â À§¿Í °°Àº ·ÎÁ÷Àº °ÅÀÇ »ç¿ëÇÏÁö ¾Ê°í ´ë½Å ÀϺθ¸ ¾÷µ¥ÀÌÆ®ÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇÏ°í ÀÖ´Ù. 

 

 

- ºñ ¾÷µ¥ÀÌÆ®Çü (¹®ÀÚ¿­ Çü½Ä »ç¿ë)

ÀϺΠ°Ô½ÃÆÇ (ƯÈ÷ PHP³ª JSP °Ô½ÃÆÇ)Àº ¹®ÀÚ¿­(varchar) ÇüÀ¸·Î Æ®¸® ÇüŸ¦ ³ªÅ¸³»´Â Çʵ带 ÇϳªµÎ¾î ´äº¯Çü °Ô½ÃÆÇÀ» ±¸ÇöÇϱ⵵ Çß¾ú´Ù.

Áï, ¹®ÀÚ¿­ Çʵå´Â ÁÖ(root) ±ÛÀÌ¸é ºó ¹®ÀÚ¿­Àε¥, ´äº¯ÀÌ ´Þ¸± ¶§¸¶´Ù a,b,c,d ... ÇüÅ·Π±ÛÀÚ(ÆíÀÇ»ó ¾ËÆĺªÀ¸·Î ¼³¸í)·Î ¹øÈ£¸¦ ¸Þ±ä´Ù. ÇØ´ç ±ÛÀÇ ´äº¯¿¡ ´ëÇؼ± ±×¿¡ µ¡ºÙ¿©¼­ a,b,c,d ... ½ÄÀ¸·Î ±ÛÀÚ¸¦ Ãß°¡ÇÑ´Ù.

±Û¹øÈ£´äº¯¸ð¾çÁ¦¸ñ
3
¼¼¹ø°·Î ¿Ã¶ó¿Â ±Û
2
µÎ¹ø°·Î ¿Ã¶ó¿Â ±Û
2  a    µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯
2  aa       µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯ÀÇ ´äº¯
2  aaa          µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯ÀÇ ´äº¯ÀÇ ´äº¯
2  ab    µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯2
1
ù¹ø°·Î ¿Ã¶ó¿Â ±Û

 

ÀÌ ¹æ½Ä¿¡¼± ´äº¯ÇÒ ¶§ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿ä¾ø´Ù. ¿¹¸¦ µé¾î, À§ÀÇ ´äº¯Çü ÇüÅ¿¡¼­ "µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯ÀÇ ´äº¯"¿¡ ´äº¯ÇÑ´Ù¸é, ±Û ¹øÈ£°¡ 2ÀÌ°í, "´äº¯¸ð¾ç"ÀÌ "aa"·Î ½ÃÀÛÇÏ´Â °ÍÀÇ ÃÖ´ë°ªÀ» ã°í(À§¿¡¼­´Â "aaa"). ±×¸®°í, ãÀº "´äº¯¸ð¾ç" ÇʵåÀÇ ¸¶Áö¸· ±ÛÀÚ¿¡ +1 - Áï "aab" - Çؼ­ ±× °ªÀ¸·Î ·¹Äڵ带 »ðÀÔÇÏ´Â °ÍÀÌ´Ù. 

¾Æ¸¶µµ, "±Û¹øÈ£"¿Í "´äº¯¸ð¾ç"À» ÇÕÃļ­ À妽º(ȤÀº ±âº»Å°)¸¦ ÁÖ¾úÀ» °ÍÀ̹ǷÎ(²À À妽º¸¦ ÁÖ¾î¾ß ÇÕ´Ï´Ù) ÃÖ´ë°ªÀ» ã´Â °ÍÀº ¸Å¿ì ºü¸¦ °ÍÀÔ´Ï´Ù. ¸ñ·Ïº¸±â¿¡¼± ±Û¹øÈ£ ¿ª¼ø(desc), ´äº¯¸ð¾ç Á¦¼ø¼­(asc)·Î ·¹Äڵ带 °¡Á®¿À¸é µÈ´Ù( select ... order by ±Û¹øÈ£ desc, ´äº¯¸ð¾ç asc )

 

ÀÌ·¯ÇÑ ¹æ½Ä¿¡¼± ´äº¯ÇÒ ¶§ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿ä ¾øÀ¸´Ï, ´äº¯ÇÏ´Â °ÍÀÌ ¸Å¿ì ºü¸£´ä´Ï´Ù. ´ÜÁ¡À̶ó¸é varchar Çü Çʵ尡 ÇÊ¿äÇؼ­ ±Û ¸ñ·Ï ºÎºÐ¿¡¼­ ¾à°£ ´À·ÁÁú ¼ö ÀÖ´Ù´Â °Í(»ç½Ç, ÀÌ°ÍÀº DB¿¡ µû¶ó ´Ù¸¨´Ï´Ù. MS SQLÀ̶ó¸é °ÅÀÇ Â÷ÀÌ°¡ ¾øÀ» °Í °°´Ù), ±×¸®°í ¾à°£ÀÇ Ãß°¡ °ø°£ÀÌ ÇÊ¿äÇÏ´Ù´Â Á¤µµ. Çؼ­, »ç½Ç ÀÌ ¹æ¹ýµµ ±×¸® ¾ÆÁÖ ³ª»Û ¹æ¹ýÀº ¾Æ´Ï´Ù.

 

 

- ÀϺΠ¾÷µ¥ÀÌÆ®Çü. ÀÌ °Ô½ÃÆÇÀÇ ·ÎÁ÷

¾à°£ÀÇ Á¦ÇÑÀ» »ç¿ëÇؼ­ ¿ÀÈ÷·Á ¼º´ÉÀ» ³ôÀÌ´Â ¹æ¹ýÀ» »ìÆì º¸ÀÚ. ¿ì¸®°¡ Á¦ÀÛÇÒ °Ô½ÃÆÇ¿¡¼­´Â ÇϳªÀÇ ±Û¿¡ ´äº¯ÇÒ ¼ö ÀÖ´Â ±ÛÀÇ ¼ö¿¡ Á¦ÇÑÀ» µÎ¾ú´Ù(¼º´ÉÀ» °í·ÁÇÑ ¼³Á¤). 

¼³¸íÀ» À§ÇØ ÆíÀÇ»ó 1000 °³·Î ÇÑ´Ù°í Çغ¸ÀÚ. ±×¸®°í, ±Û¹øÈ£(¿¹Á¦ °Ô½ÃÆÇ¿¡¼± thread¶ó´Â Çʵå·Î µÇ¾îÀÖ´Ù)¸¦ ¶ç¾ö¶ç¾ö, ±× ¼ö¸¸Å­, Áï 1000 ´ÜÀ§·Î ÁÖ°Ô ÇÏ´Â °Í.

±Û¹øÈ£(thread)Á¦¸ñ
3000¼¼¹ø°·Î ¿Ã¶ó¿Â ±Û
2000µÎ¹ø°·Î ¿Ã¶ó¿Â ±Û
1000ù¹ø°·Î ¿Ã¶ó¿Â ±Û

 

±×¸®°í, ´äº¯ÀÌ ´Þ¸®´Â °æ¿ì´Â °¢ ±Ûº°·Î ¾÷µ¥ÀÌÆ®¸¦ Çؼ­ Á¤·ÄÇÏ°Ô ÇÒ °ÍÀÌ´Ù. 

Áï, ±Û¹øÈ£°¡ 2000¹øÀÎ ³à¼®ÀÇ ÇÏÀ§·Î ´äº¯ÀÌ ´Þ¸®¸é ±×³ÑµéÀÇ ±Û ¹øÈ£´Â 1999, 1998, 1997... ÀÌ·¸°Ô ÁÖ¾îÁö°Ô µÇ´Â °ÍÀ̱¸¿ä. ÃÑ 999 °³ÀÇ ´äº¯ÀÌ ´Þ¸± ¼ö°¡ ÀÖ°Ô µÇ´Â °Í. 

1000°³·Î ´äº¯À» Á¦ÇÑÇÑ´Ù´Â Á¦¾àÀÌ ÀÖ±â´Â ÇÏÁö¸¸, ¾ÆÁ÷±îÁö »çÀÌÆ®¸¦ ¿î¿µÇϸ鼭 ÇϳªÀÇ ±Û¿¡ 999°³ÀÇ ´äº¯ÀÌ ´Þ¸®´Â °æ¿ì´Â º¸Áö ¸øÇß´Ù. ½ÉÁö¾î´Â 99°³ÀÇ ´äº¯ÀÌ ´Þ¸®´Â °æ¿ìµµ º¸Áö ¸øÇß´Ù. 

ÀÌÁ¦, À§¿¡¼­ µÎ ¹ø° ±Û¿¡ ´äº¯À» ÇÑ´Ù°í »ý°¢ÇØ º¸ÀÚ. ±×·¯¸é, ¿ø·¡ ±× ±Û¹Ø¿¡ ´äº¯À¸·Î ´Þ·ÁÁ® ÀÖ´ø ±ÛµéÀ» Áï, ±Û¹øÈ£°¡ 1999~1000 »çÀÌÀÎ ±ÛÀÇ ±Û¹øÈ£¸¦ Çϳª¾¿ ÁÙ¿© ³ª°¡°Ô ÇÕ´Ï´Ù. 

±×¸®°í, »õ·Î µé¾î¿À´Â ±ÛÀÇ ¹øÈ£¸¦ 1999¹øÀ¸·Î Çؼ­ ·¹Äڵ带 Ãß°¡ÇÏ¸é µÎ¹ø° ±Û°ú ¼¼¹ø° ±Û »çÀÌ¿¡ ±ÛÀÌ Ãß°¡µÇ°Ô µÇ´Â °ÍÀÌ´Ù. 

 

±×·±µ¥ ¾î´À ±ÛÀÌ ÁÖ(root) ±ÛÀÎÁö ´äº¯ÀÎÁö, ´äº¯À̶ó¸é ¾î´À ±Û¿¡ ´ëÇÑ °ÍÀÎÁö´Â ¾î¶»°Ô ±¸ºÐÇÒ ¼ö ÀÖÀ»±î? ±×°ÍÀº ±Û º°·Î, ±ÛÀÌ ¸î ´Ü°è °ÀÎÁö¸¦ ³ªÅ¸³»´Â Çʵ带 µÎ¸é µÈ´Ù. Áï, ÁÖ ±ÛÀº 0, ÁÖ ±Û¿¡ ´ëÇÑ ´äº¯À̶ó¸é 1, ´äº¯¿¡ ´ëÇÑ ´äº¯À̸é 2¿Í °°Àº ½ÄÀ¸·Î °ªÀ» ÁÖ¸é, ±× ¼ö¸¸Å­ Á¦¸ñ ¿ÞÂÊÀ» ¶ç¾î¾²±â Çؼ­ ´äº¯ ´Þ¸° ¸ð½ÀÀ¸·Î ¸¸µé ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù. ¿ì¸®°¡ Á¦ÀÛÇÒ °Ô½ÃÆÇ¿¡¼± ÀÌ·¯ÇÑ ¸ñÀûÀÇ Ä÷³ÀÌ depth¶ó´Â À̸§ÀÇ Çʵå·Î µÇ¾îÀÖ´Ù. ±×·¡¼­ ±ÛÀ» Ãß°¡ÇÏ¸é ´ÙÀ½°ú °°Àº ¸ð½ÀÀÌ µÇ¾îÁö´Â °ÍÀÌ´Ù.

±Û¹øÈ£(thread)depthÁ¦¸ñ
30000¼¼¹ø°·Î ¿Ã¶ó¿Â ±Û
20000µÎ¹ø°·Î ¿Ã¶ó¿Â ±Û
19991    µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯1
10000ù¹ø°·Î ¿Ã¶ó¿Â ±Û

 

±ÛÀ» Ãß°¡ÇÒ ¶§¸¶´Ù °°Àº ¹æ½ÄÀ¸·Î ÇÏ°í, ¸ñ·ÏÀ» º¸¿©ÁÙ¶§´Â ±Û ¹øÈ£¸¦ ±âÁØÀ¸·Î ¿ª¼øÀ¸·Î Á¤·ÄÀ» ÇÏ¸é ¼ø¼­´ë·Î °èÃþÀûÀ¸·Î º¸¿©Áö°Ô µÈ´Ù. ±×¸®°í, depth °¡ 0 ÀÌ»óÀÎ °æ¿ì (ÁÖ ±ÛÀÌ ¾Æ´Ñ) ´äº¯ ±ÛÀÌ´Ï, ±× depth ¼ö ¸¸Å­ ¿ÞÂÊ¿¡ °ø°£À» µÎ¾î ´äº¯À» Ç¥½ÃÇÏ¸é ¿ì¸®°¡ ±â´ëÇÑ ´ë·Î È­¸éÀ» Ãâ·ÂÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌÁÒ. °°Àº ¹æ½ÄÀ¸·Î ¿©·¯ ÇàÀ» ´äº¯ÇÏ¸é ¾î¶»°Ô µÉÁö »ý°¢ÇØ º¸ÀÚ.

 

±Û¹øÈ£(thread)depthÁ¦¸ñ
30000¼¼¹ø°·Î ¿Ã¶ó¿Â ±Û
20000µÎ¹ø°·Î ¿Ã¶ó¿Â ±Û
19991    µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯2
19982       µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯ÀÇ ´äº¯2
19971    µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯1
10000ù¹ø°·Î ¿Ã¶ó¿Â ±Û

 

ÀÌó·³, Áß°£¿¡ °¸À» µÎ¾î¼­, Áß°£ ºÎºÐ¸¸ ¾÷µ¥ÀÌÆ®ÇÏ¸é µË´Ï´Ù.¿¹¸¦ µé¸é, ¿©±â¼­ "µÎ¹ø°·Î ¿Ã¶ó¿Â ±ÛÀÇ ´äº¯2"¿¡ ´äº¯À» ´Ü´Ù¸é 1001~1998 »çÀÌ¿¡ ÀÖ´Â µÎ°³ÀÇ ·¹Äڵ尡 ¾÷µ¥ÀÌÆ® µÇ¾î ÇÑÄ­¾¿ µÚ·Î ¹°·¯³ª°Ô ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù(ÀڱⰡ µé¾î°¥ ÀÚ¸®º¸´Ù ³ôÀº ¹øÈ£¸¦ °¡Áø ±ÛµéÀº ¾÷µ¥ÀÌÆ®¸¦ ÇÒ ÇÊ¿ä°¡ ¾ø°ÚÁÒ? ¿¹¸¦ µé¸é, Áö±ÝÀÇ °æ¿ì´Â 1998 ¹øº¸´Ù ³ôÀº ±ÛµéÀº ¾÷µ¥ÀÌÆ®¸¦ ÇÒ ÇÊ¿ä°¡ ¾ø´Ù´Â °Ì´Ï´Ù). ´Ù½Ã ¸»Çؼ­, ÀÚ½ÅÀÇ ±Û¹øÈ£º¸´Ù ³·Àº ±Û¹øÈ£µé Áß 1000º¸´Ù´Â ±Û¹øÈ£°¡ Å« °Íµé¸¸ ¾÷µ¥ÀÌÆ® ÇÑ´Ù´Â °ÍÀÌ´Ù. ±×¸®°í, »õ·Î¿î ´äº¯±ÛÀº 1998¶ó´Â ¹øÈ£¸¦ °®°Ô µÇ°í, depth ´Â 2°¡ µÈ´Ù´Â °Í. depth´Â ´äº¯À» ´Þ ±ÛÀÇ depth¿¡ Çϳª¸¦ ´õÇÑ °ªÀ¸·Î °è»êÇØ ÁÖ¸é µÈ´Ù..

  

¾î¶µç À̹ø ·ÎÁ÷Àº ù ¹ø°·Î ¼Ò°³ÇÑ ·ÎÁ÷¿¡ ºñÇؼ­ ¾÷µ¥ÀÌÆ®ÇÏ´Â ¾çÀÌ ´ëÆø °¨¼ÒÇÑ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. 100¸¸°³ÀÇ ±ÛÀÌ ÀÖ´Ù Ãĵµ, ±× ±Û¿¡ ¼ÓÇÑ ´äº¯¸¸ ¾÷µ¥ÀÌÆ®ÇÏ¸é µÇ´Ï±î¿ä. ¿ì¸®ÀÇ °æ¿ì¶ó¸é ÇϳªÀÇ ´äº¯ÀÌ ´Þ¸± °æ¿ì ÃÖ´ë 999°³¸¸ ¾÷µ¥ÀÌÆ® ÇÏ¸é µÇ°ÚÁÒ? ¹°·Ð, ÀÌ ¹æ½Äµµ ÇϳªÀÇ ±Û¿¡ ¿¹ÄÁ´ë 500°³ÀÇ ´äº¯ÀÌ ´Þ·ÁÀÖ´Â °æ¿ì¶ó¸é ºñÈ¿À²ÀûÀÏ ¼ö ÀÖ½À´Ï´Ù. (ÃÖ´ë 500°³ÀÇ ·¹Äڵ带 ¾÷µ¥ÀÌÆ® ÇؾßÇϹǷÎ) ±×·¯³ª,

 

1) ´äº¯ÀÌ ±×·¸°Ô ¸¹ÀÌ ´Þ¸®´Â ÀÏÀº °ÅÀÇ ¾ø´Ù. 
    ¾Æ¹«¸® È°¼ºÈ­ µÈ °Ô½ÃÆÇÀ̶ó Çصµ ¸¹¾Æ¾ß 10°³, º¸ÅëÀº 1~2°³ÀÇ ´äº¯ÀÌ ´Þ¸°´Ù. 
2) ´äº¯À» ´Ù´Â ÀÏÀº °Ô½ÃÆÇ ¸ñ·ÏÀ» º¸´Â °Íº¸´Ù ºóµµ¼ö°¡ Àû´Ù. 
    ¾à 1/10 À̳»ÀÏ µí Çϱ⿡, ±×·¸´Ù¸é ¸ñ·Ï º¸´Â ÂÊ¿¡¼­ ¼Óµµ¸¦ ³¾ ¼ö ÀÖµµ·Ï ¼³°èÇϴ °ÍÀÌ ³´´Ù.

 

Çؼ­, ÀÌ ¹æ¹ýÀÌ ºñ±³Àû ¾µ¸¸ÇÑ ¹æ¹ýÀ̶ó°í º¼ ¼ö ÀÖ´Ù.

 

À§¿¡¼­ ¼³¸íÇß´ø µÎ ¹ø° ·ÎÁ÷(ºñ ¾÷µ¥ÀÌÆ® Çü)ÀÇ °æ¿ì´Â Ä÷³ÀÇ Å¸ÀÔÀ» varchar·Î Çϴµ¥, ÀÌ´Â ¸ñ·Ïº¸±â¿¡¼­ ¾à°£Àº ¼Óµµ ÀúÇÏ°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. (»óȲ¿¡ µû¶ó, µ¥ÀÌÅͺ£À̽º¿¡ µû¶ó ´Ù¸£±ä ÇÕ´Ï´Ù¸¸) ÇÑÆí, ÀÌ ·ÎÁ÷Àº int Çü Çʵå Çϳª·Î Á¤·ÄÇϱ⠶§¹®¿¡, ¾÷µ¥ÀÌÆ®ÇÏ´Â ¾à°£ÀÇ ¼ÓµµÀúÇÏ´Â ¸ñ·Ï¿¡¼­ ÃæºÐÈ÷ Ä¿¹ö¸¦ ÇÒ ¼ö°¡ ÀÖ´Ù°í º»´Ù. 



Ãâó: http://kimyhcj.tistory.com/127 [¾ÆÀ²¾ÆºüÀÇ ½ºÅ丮]