![]() |
|||||||||||||||||||||||||||
°èÃþÇü °Ô½ÃÆÇÀº °Ô½ÃÆÇ¿¡ Áú¹®±ÛÀÌ ¿Ã¶ó¿ÔÀ»¶§
´©±º°¡ ´ä±ÛÀ» ´Þ¸é ÀÌ ´ä±ÛÀ» Áú¹®±Û ¹Ù·Î ¾Æ·¡¿¡ º¸¿©Áö°Ô ÇÏ´Â °Ô½ÃÆÇÀÔ´Ï´Ù. »ç½Ç À¥»ó¿¡ °ÅÀÇ 99.9%ÀÇ °Ô½ÃÆÇÀÌ ÀÌ·± °èÃþÇü
°Ô½ÃÆÇÀÔ´Ï´Ù. ¾óÃß °Ô½ÃÆÇ ¸¸µé±â¸¦ ÇÒ ¼ö ÀÖ´Ù¸é ÀÌÁ¦ ÀÌ·± °èÃþÇü °Ô½ÃÆÇ¸¸µé±â¿¡ µµÀüÇØº¸µµ·Ï ÇսôÙ.
ÀÌ·± Çʵ忡 °ªÀ» ÀúÀåÇÒ¶§´Â ´ÙÀ½°ú °°Àº ±ÔÄ¢À» ÀÌ¿ëÇÏ¿© ÀúÀåÇÕ´Ï´Ù. ÆíÀÇ»ó ´äº¯ÀÌ ´Þ¸®´Â ±ÛÀ» ºÎ¸ð±ÛÀ̶ó°í ÇϰڽÀ´Ï´Ù. (1) »õ·Î¿î±Û À϶§
(2) ´äº¯±Û À϶§
¹«½¼ ¸»ÀÎÁö ¿¹¸¦ µé¾îº¸ÀÚ. À§¿¡¼ ¾ð±ÞÇÑ ¹æ½Ä´ë·Î¸¸ ÀúÀåÇÏ¸é µÈ´Ù. ¸ÕÀú °Ô½ÃÆÇ¿¡ Áú¹®ÀÌ ¿Ã¶ó¿Ô´Ù. ( ¾Æ¹«·± ±Ûµµ ¾ø´Âµ¥ ´äº¯±ÛÀÌ ÀÖÀ»¸® ¾ø´Ù ) ±×·³ ´ÙÀ½°ú °°ÀÌ ÀúÀåÇÑ´Ù. ÀúÀåµÇ´Â ¼ø¼´Â ref,pos,depth,titleÀÇ ¼øÀ¸·Î ÀúÀåµÈ´Ù°í °¡Á¤ÇÑ´Ù. Âü°í·Î °Ô½ÃÆÇ¿¡ Á¦ÀÏ Ã³À½ ±ÛÀ» ¿Ã¸®¸é ±âÁ¸·¹ÄÚµåµéÁß °¡ÀåÅ«°ªÀÇ ref´Â ³Î°ªÀ» °¡Áø´Ù. ¿Ö³ÄÇÏ¸é ·¹Äڵ尡 ¾øÀ¸´Ï±ñ(³ÎÀ̴ϱñ) ÀÌ·²¶§ Á¶°Ç¹®À» ÀÌ¿ëÇØ¼ ³ÎÀ϶§´Â ¹«Á¶°Ç 1ÀÇ °ªÀ» °¡Áöµµ·Ï ó¸®ÇÏ¸é µÈ´Ù. ÀÚ »õ·Î¿î ±ÛÀÌ ¿Ã¶ó¸é ´ÙÀ½°ú °°ÀÌ ±â·ÏÀÌ µÈ´Ù.
ÀÌ »óÅ¿¡¼ µÎ¹øÂ° ±ÛÀÌ ¿Ã¶ó¿Ô´Ù. ±×·³ ¿ì¼± ±âÁ¸ ·¹ÄÚµåÁß °¡Àå Å« ref°©À» ã´Â´Ù(¿©±â¼´Â 1) ±×¸®°í +1 ÇѰªÀ» ref¿¡ ÀúÀåÇϰí pos¿Í depth¿¡´Â ¹«Á¶°Ç 1ÀÇ °ªÀ» ½áÁØ´Ù. ´ÙÀ½Àº ±× °á°úÀÌ´Ù.
ÀÌ »óÅ¿¡¼ ¼¼¹øÂ°±ÛÀÌ ¿Ã¶ó¿Ô´Ù. ¿©±â »õ·Î¿î±ÛÀ̴ϱñ °°Àº ¹æ½ÄÀ¸·Î ref=(refÃÖ°í°ª+1)
½Å³´Ù Çϳª ´õ ¿Ã·Áº¸ÀÚ.
¾Ñ À̶§ ´©±º°¡ Áú¹®(1)¿¡ ´ëÇÑ ¸®ÇÃÀ» ´Þ¾Ò´Ù. ±×·³ ÀÌÁ¦ Áú¹®(1)Àº ºÎ¸ð±ÛÀÌ µÇ°í ´ä±Û¿¡ ÀúÀåµÇ´Â °ªÀº °¢°¢ ´ÙÀ½°ú °°´Ù.
´äº¯±Û ref = (ºÎ¸ð±Û ref) = 1 ´äº¯±Û depth = (ºÎ¸ð±Û depth) + 1 = 2 ´äº¯±ÛÀÇ pos = ¸ÕÀú ºÎ¸ð±Û°°Àº ref °ªÀÌ ÀÖ´ÂÁö °Ë»ç. ÀÖÀ¸¸é ±×³ÑµéÀÇ pos°ªÀ» ¹«Á¶°Ç + 1 ½ÃŲ´Ù. ¿©±â¼´Â ±×·± ³ÑÀÌ ¾øÀ¸¹Ç·Î ¹«½ÃÇÏ°í ±×³É (ºÎ¸ð±ÛÀÇ pos) + 1 = 2 ÀÇ °ª ÀúÀå °á°ú ´ÙÀ½°ú °°ÀÌ ÀúÀåµÈ´Ù.
À̹ø¿¡´Â Áú¹®(3)¿¡ ´ëÇÑ ¸®ÇÃÀ» ´Þ¸é
´ä±ÛÀ̴ϱñ ¹æ½Ä(2)¸¦ Àû¿ë½ÃŰ¸é ´ÙÀ½°ú °°´Ù.
À̹ø¿¡´Â ´ä±ÛÀÌ ¾Æ´Ï¶ó »õ±ÛÀÌ µé¾î¿À¸é ¹æ½Ä(1)À» Àû¿ë½ÃÄÑ °¢°¢ÀÇ °ªÀº ´ÙÀ½°ú °°´Ù.
ÀÚ ÀÌ·¸°Ô ´ëÃæ ¾²°í Á¤·Ä½ÃŲ´Ù. Á¦ÀÏ ¸ÕÀú ref¸¦ ±âÁØÀ¸·Î Á¤·Ä½ÃÄѺ¸ÀÚ. select * from Table order by ref ÀÌ·¸°Ô Çϸé ref°ªÀ» ±âÁØÀ¸·Î ³»¸²Â÷¼øÁ¤·ÄµÈ´Ù. ¸¸¾à ref°ªÀÌ °°À¸¸é ¸ÕÀú ¾²¿©Áø ³ÑÀÌ À§¿¡ ÀÖ°Ô µÈ´Ù.
¿ä·¸°Ô µÈ³ÑÀÇ ¼ø¼¸¦ µÚÁýÀ¸¸é ( select * from Table order by ref desc )
ÀÌ·±»óÅ¿¡¼ À̹ø¿¡´Â pos¸¦ ±âÁØÀ¸·Î ³»¸² Â÷¼ø Á¤·Ä½Ã۸é ( select * from Table order by ref desc, pos )
ÀÚ ÀÌ°É È¸é¿¡ »Ñ¸®¸é Áú¹®¿¡ ´ëÇÑ ´ä±ÛÀÌ ¹Ù·Î ¾Æ·¡¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. Á»´õº¹ÀâÇÑ °æ¿ì¸¦ º¸ÀÚ. ÀÏ´Ü ·¹Äڵ忡´Â ´ÙÀ½°ú °°´Ù.
¿©±â¼ Áú¹®(1)´ä(1)¿¡ ´ëÇÑ ´ä±ÛÀÌ ¿Ã¶ó¿À¸é
¹æ½Ä(2)¸¦ Àû¿ë½ÃŲ´Ù. ´ä±Û ref = ºÎ¸ð±Û ref = 1 ´ä±Û depth = ºÎ¸ð±Û depth + 1 = 3 ´ä±Û pos = ´ÙÀ½°ú °°ÀÌ ±¸ÇÑ´Ù. ¸ÕÀú ºÎ¸ð±ÛÀÇ ref¿Í °°Àº³ÑÀ» ã´Â´Ù.
À̳ѵéÁß¿¡¼ pos°ªÀÌ ºÎ¸ð±ÛÀÇ pos°ªº¸´Ù Å«³ÑÀº +1 ÇØÁØ´Ù. ÀÖ³ª? ¾ø´Ù. ±×·³ ¹«½ÃÇÏ°í ´ä±Û pos = ºÎ¸ð±Û pos + 1 = 3
À̹ø¿¡µµ ´Ù½Ã Áú¹®(1)´ä(1)¿¡ ´ëÇÑ ´ä±ÛÀÌ ¿Ã¶ó¿Ô´Ù.
¿ª½Ã ¹æ½Ä(2)¸¦ Àû¿ë½ÃŲ´Ù. ´ä±Û ref = ºÎ¸ð±Û ref = 1 ´ä±Û depth = ºÎ¸ð±Û depth + 1 = 3 ´ä±Û pos = ´ÙÀ½°ú °°ÀÌ ±¸ÇÑ´Ù. ¸ÕÀú ºÎ¸ð±ÛÀÇ ref¿Í °°Àº³ÑÀ» ã´Â´Ù.
À̳ѵé Áß¿¡ pos°ªÀÌ ºÎ¸ð±Û pos°ªº¸´Ù Å«³ÑÀ» ã¾Æ +1 ½ÃŲ´Ù.
À̳ðÀÇ pos°ªÀ» +1 ½ÃŲ´Ù.
±×¸®°í ´ä±ÛÀÇ pos = ºÎ¸ð±Û pos + 1 = 3 ÀÌ µÇ¹Ç·Î ´ÙÀ½°ú °°ÀÌ µÈ´Ù.
ÀÌ°É Á¤·Ä½ÃÄѺ¸ÀÚ ¸ÕÀú ref¸¦ ±âÁØÀ¸·Î Á¤·Ä½Ã۸é ( order by ref )
¿ä°É ¿ª¼øÀ¸·Î Á¤·Ä½Ã۸é ( order by ref desc )
¿ä »óÅ¿¡¼ pos¸¦ ±âÁØÀ¸·Î Á¤·Ä½Ã۸é ( order by ref desc, pos )
Á¤·Ä³¡ Àǹ®»çÇ× : depth´Â ¿Ö Á¤·ÄÇϴµ¥ ¾²ÀÌÁö ¾Ê´Âµ¥ ¸ÓÇÏ·¯ °ªÀ» Áִ°¡? ´ä : depth´Â ¸» ±×·¡µµ µé¾î°£ ±íÀ̸¦ ¸»Çϴ°ÍÀÔ´Ï´Ù. Á¤·ÄÇϴµ¥´Â ¾²ÀÌÁö ¾ÊÁö¸¸ ³ªÁß¿¡ °Ô½ÃÆÇ¿¡ º¸¿©Áú¶§ ´ä±ÛÀº ºÎ¸ð±Ûº¸´Ù ¾à°£ ¾ÈÂÊÀ¸·Î µé¾î°¡°Ô ÇØ¾ß ÇÕ´Ï´Ù. ±× µé¾î°¡´Â ±íÀ̸¦ ¸»Çϴ°ÅÁÒ. ÃÖÃÊ Áú¹®±ÛÀÌ ¿Ã¶ó¿À¸é depth´Â 1ÀÇ °ªÀ» °¡Áý´Ï´Ù. À̶§¸¦ ±âÁØÀ¸·Î Àâ¾Æ¼ ¸Ç¾Õ¿¡ ³õ°í ´ä±ÛÀÌ ¿Ã¶ó¿À¸é Áú¹®±Û¿¡ ´ëÇÑ ´ä±ÛÀ̹ǷΠdepth´Â ±× ´ä±Ûº¸´Ù Çϳª ³ôÀº °ªÀ» °¡Áý´Ï´Ù. ±×·¯¹Ç·Î À̰ÍÀ» ÀÌ¿ëÇØ¼ ¾Õ¿¡ ¿©¹éÀ» ¸î°³ ³ÖÀ¸ÁÖ¸é °Ô½ÃÆÇ¿¡¼ ´ä±ÛÀº Áú¹®±Ûº¸´Ù µé¾î°¡°Ô º¸ÀÌ°Ô ÇÒ¼öÀִµ¥ »ç¿ëµÈ´ä´Ï´Ù. ÀÌ°É ¾È½áµµ Á¤·ÄÇϴµ¥¿¡´Â ÀÌ»ó¾ø½À´Ï´Ù. ÇÏÁö¸¸ Á¤·Ä½Ã۰í À¥»ó¿¡ º¸¿©Áִµ¥ ÀÖ¾î µé¾î°£°Í |