| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 33. SQL È®Àå | Fast Forward | Next |
PostgreSQLÀÇ ¿¬»êÀÚ Á¤ÀÇ¿¡¼´Â, ¿¬»êÀÚÀÇ µ¿ÀÛ¿¡ ´ëÇÑ ½Ã½ºÅÛÀÇ À¯¿ëÇÑ °ÍµéÀ» ¸»ÇØ, ¿©·¯ ¿É¼Ç±¸À» Æ÷ÇÔ½Ãų ¼öÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±¸¿¡ ÀÇÇØ ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â Äõ¸®ÀÇ ½ÇÇà ¼Óµµ°¡ ²Ï Çâ»óÇϱ⠶§¹®¿¡, ÀÌ·¯ÇÑ ±¸´Â ÀûÀýÇÑ ¶§¿¡´Â Ç×»ó Á¦°øµÇ¾î¾ß ÇÕ´Ï´Ù. ±×·¯³ª, Á¦°øÇÒ ¶§¿¡´Â ±×°ÍµéÀÌ ¿Ã¹Ù¸¥Áö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù! À߸øµÈ ÃÖÀûÈ¿ë ±¸¸¦ »ç¿ëÇϸé, Äõ¸®ÀÇ Àú¼ÓÈ, ¾Ë ¼ö ¾ø´Â ÀÌ»óÇÑ Ãâ·Â, ±× ¿ÜÀÇ À¯ÇØÇÑ ÀÏÀÌ ÀϾ ¼ö ÀÖ½À´Ï´Ù. ÃÖÀûÈ¿ëÀÇ ±¸¿¡ ´ëÇØ ¸ð¸£¸é, »ç¿ëÇÏÁö ¾Ê¾Æµµ »ó°ü¾ø½À´Ï´Ù. ÇÊ¿ä·Î ÇÏ´Â °Íº¸´Ù Äõ¸®ÀÇ ½ÇÇàÀÌ ´Ê¾îÁúÁöµµ ¸ð¸¥´Ù°í ÇÒ »ÓÀÔ´Ï´Ù.
PostgreSQLÀÇ ÇâÈÄÀÇ ¹öÁ¯¿¡ ÃÖÀûÈ ±¸°¡ ÇÑÃþ ´õ Ãß°¡µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ¿©±â¼ ¼³¸íÇÏ´Â °ÍÀº ¸ðµÎ, ¹öÁ¯8.3.3·Î À¯È¿ÇÑ °ÍÀÔ´Ï´Ù.
COMMUTATOR±¸°¡ ÁÖ¾îÁ³À» °æ¿ì, ±×°ÍÀº Á¤ÀÇµÈ ¿¬»êÀÚÀÇ ±³È¯ÀÚ°¡ µÇ´Â ¿¬»êÀÚÀÇ À̸§ÀÔ´Ï´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¸ðµç ÀԷ°ª x, y¿¡ ´ëÇØ¼, (x A y)°¡(y B x)¿Í µ¿ÀÏÇÒ ¶§, ¿¬»êÀÚ A´Â ¿¬»êÀÚ BÀÇ ±³È¯ÀÚ¶ó°í ÇÕ´Ï´Ù. ¶Ç, B´Â AÀÇ ±³È¯ÀÚ°¡ µÇ´Â °Í¿¡µµ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¸é, Åë»ó, ƯÁ¤ÀÇ µ¥ÀÌÅÍÇüÀÇ ¿¬»êÀÚ <¿Í >´Â ¼·ÎÀÇ ±³È¯ÀÚ°¡ µË´Ï´Ù. ¶Ç, ¿¬»êÀÚ +´Â ÀÚ½ÅÀÌ ±³È¯ÀÚ°¡ µË´Ï´Ù. ±×·¯³ª, ¿¬»êÀÚ -´Â ±³È¯ÀÚ¸¦ °®Áö ¾Ê½À´Ï´Ù.
±³´ë °¡´ÉÇÑ ¿¬»êÀÚÀÇ ¿ÞÂÊ ¿ÀÆÛ·£µåÀÇ ÇüÅ´Â, ±× ±³È¯ÀÚÀÇ ¿À¸¥ÂÊ ¿ÀÆÛ·£µåÀÇ ÇüÅÂ¿Í µ¿ÀÏÇØ, ±× ¹Ý´ëµµ ¶ÇÇÑ °°½À´Ï´Ù. µû¶ó¼,PostgreSQL·Î ±³È¯ÀÚ¸¦ °Ë»öÇÒ ¶§¿¡ ÇÊ¿äÇÑ °ÍÀº ±³È¯ÀÚÀÇ À̸§À̱⠶§¹®¿¡, COMMUTATOR±¸¿¡ ±³È¯ÀÚÀÇ À̸§¸¸ Á¦°øÇϸé ÃæºÐÇÕ´Ï´Ù.
À妽º³ª °áÇÕ±¸·Î »ç¿ëµÇ´Â ¿¬»êÀÚ¿¡ ´ëÇØ¼´Â ±³È¯ÀÚÀÇ Á¤º¸¸¦ Á¦°øÇÏ´Â °ÍÀÌ ÇʼöÀÔ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, Äõ¸® ÃÖÀûȰ¡ ±× ±¸¸¦ ´Ù¸¥ ½ÇÇà °èȹÇü¿¡ ÇÊ¿äÇÑ Çü½ÄÀ¸·Î "µÚÁý´Â"ÀÏÀÌ »ý±â±â ¶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, tab1.x = tab2.y¿Í °°Àº WHERE±¸¸¦ °¡Áø Äõ¸®¸¦ »ý°¢ÇØ º¸°Ú½À´Ï´Ù. ¿©±â¼ tab1.x¿Í tab2.y´Â »ç¿ëÀÚ Á¤ÀÇÇüÀ¸·Î, tab2.y¿¡´Â À妽º°¡ ºÙ¾î ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ÃÖÀûÈ´Â, ÀÌ ±¸¸¦ tab2.y = tab1.x¶ó°í ÇÏ´Â ÇüÅ¿¡ µÚÁý´Â ¹æ¹ýÀ» ¸ð¸£¸é, À妽º °Ë»öÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. À妽º °Ë»ö ±â±¸´Â ¿¬»êÀÚÀÇ ÁÂÃøÀ¸·Î À妽º µÈ ¿ÀÌ ÀÖ´Ù´Â °ÍÀ» »óÁ¤Çϰí Àֱ⠶§¹®ÀÔ´Ï´Ù. PostgreSQL´Â °£´ÜÇÏ°Ô ÀÌ º¯ÇüÀÌ À¯È¿ÇÏ´Ù°í ÀüÁ¦ ÇÏÁö ¾Ê½À´Ï´Ù . =¿¬»êÀÚÀÇ ÀÛ¼ºÀÚ°¡, ±³È¯ÀÚ Á¤º¸¸¦ °¡Áö´Â ¿¬»êÀÚ¶ó°í Ç¥½ÃÇØ À¯È¿ÇÔÀ» ÁöÁ¤ÇØÁà¾ß ÇÕ´Ï´Ù.
Àڱ⠱³È¯ÀÚ¸¦ Á¤ÀÇÇÏ´Â °æ¿ì´Â, ´ÜÁö ±×°ÍÀ» ÁöÁ¤ÇÒ »ÓÀÔ´Ï´Ù. ±³È¯ÀÚÀÇ ½ÖÀ» Á¤ÀÇÇÏ´Â °æ¿ì´Â Á¶±Ý º¹ÀâÇØ Áý´Ï´Ù. Çϳª°¡ Á¤ÀǵDZâ À§ÇØ ´Ù¸¥ Çϳª¸¦ ÂüÁ¶ÇÏ´Â °ÍÀ» ¾î¶»°Ô ÇÒ ¼ö ÀÖ°Ú´ÂÁö°¡ ¹®Á¦°¡ µË´Ï´Ù. ÀÌ ¹®Á¦¿¡´Â ¾Æ·¡¿Í °°Àº 2°³ÀÇ ÇØ°á ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
1¹øÂ°ÀÇ ¹æ¹ýÀº, ÃÖÃÊÀÇ ¿¬»êÀÚ¸¦ Á¤ÀÇÇÒ ¶§¿¡ COMMUTATOR±¸¸¦ »ý·« ÇØ, 2¹øÂ°ÀÇ ¿¬»êÀÚÀÇ Á¤ÀÇ¿¡¼´Â, COMMUTATOR±¸¿¡ ÃÖÃÊÀÇ ¿¬»êÀÚ¸¦ ÁÖ´Â ¹æ¹ýÀÔ´Ï´Ù. PostgreSQL´Â ±³È¯ÀÚ°¡ ½ÖÀÌ µÇ¾î ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ°í Àֱ⠶§¹®¿¡, 2¹øÂ°ÀÇ Á¤ÀǸ¦ º¸°ÔµÇ¸é, ÀÚµ¿ÀûÀ¸·Î ÃÖÃÊÀÇ Á¤ÀÇ·Î µ¹¾Æ¿Í ±× ¹ÌÁ¤µµ¸® µÇ¾î ÀÖ´Â COMMUTATOR±¸¸¦ ¼³Á¤ÇÕ´Ï´Ù.
´Ù¸¥ 1°³ÀÇ ¹æ¹ýÀº, ¾çÂÊ ¸ðµÎÀÇ Á¤ÀÇ¿¡ COMMUTATOR±¸¸¦ Æ÷ÇÔÇÑ´Ù´Â Á» ´õ Á÷¼±ÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù. PostgreSQL´Â ÃÖÃÊÀÎ Á¤ÀǸ¦ ó¸®ÇÒ ¶§¿¡, COMMUTATOR°¡ Á¸ÀçÇÏÁö ¾Ê´Â ¿¬»êÀÚ¸¦ ÂüÁ¶Çϰí ÀÖ´Â °ÍÀ» ¾Ë°Ô µÇ¸é, ½Ã½ºÅÛÀº ±× ¿¬»êÀÚ¿ëÀÇ °¡Â¥ ¿£Æ®¸®¸¦ ½Ã½ºÅÛ ¸ñ·Ï¿¡ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ °¡Â¥ ¿£Æ®¸®¿¡´Â, PostgreSQL°¡ ÀÌ ½ÃÁ¡¿¡ ÃßÁ¤ÇÒ ¼ö ÀÖ´Â, ¿¬»êÀÚ¸í, ¿ÞÂÊ ¿ÀÆÛ·£µåÀÇ ÇüÅÂ, ¿À¸¥ÂÊ ¿ÀÆÛ·£µåÀÇ ÇüÅÂ, ¹× °á°úÀÇ ÇüÅ¿¡ ´ëÇÑ º¸°íÀÇ À¯È¿ÇÑ µ¥ÀÌÅͰ¡ µé¾î°©´Ï´Ù. ÃÖÃÊÀÇ ¿¬»êÀÚÀÇ ¸ñ·Ï ¿£Æ®¸®´Â ÀÌ °¡Â¥ ¿£Æ®¸®¿¡ °áºÎµË´Ï´Ù. ÀÌ ÈÄ, 2¹øÂ°ÀÇ ¿¬»êÀÚ°¡ Á¤ÀǵǸé, ½Ã½ºÅÛÀº ±× °¡Â¥ ¿£Æ®¸®¿¡ 2¹øÂ° Á¤ÀǷκÎÅÍ ¾òÀ» ¼ö ÀÖ´Â Ãß°¡ Á¤º¸¸¦ °»½ÅÇÕ´Ï´Ù. °»½ÅµÇ±â Àü¿¡ °¡Â¥ ¿¬»êÀÚ¸¦ »ç¿ëÇϸé, ¿¡·¯ ¸Þ¼¼Áö°¡ Ãâ·ÂµË´Ï´Ù.
NEGATOR±¸°¡ ÁÖ¾îÁ³À» °æ¿ì, ±×°ÍÀº Á¤ÀÇÇÏ´Â ¿¬»êÀÚÀÇ ºÎÁ¤ÀÚ°¡ µÇ´Â ¿¬»êÀÚÀÇ À̸§ÀÔ´Ï´Ù. ÀԷ°ª, x¿Í y°¡ ÃëÇÒ ¼ö ÀÖ´Â ¸ðµç °ª¿¡ ´ëÇØ¼ ¾çÂÊ ¸ðµÎÀÇ ¿¬»êÀÚ°¡ ºÒ¸®¾ð °ªÀ» µ¹·ÁÁÖ°í, (x A y)°¡ NOT (x B y)¿Í µ¿ÀÏÇÑ °æ¿ì, ¿¬»êÀÚ A´Â ¿¬»êÀÚ BÀÇ ºÎÁ¤ÀÚ¶ó°í ¸»ÇÕ´Ï´Ù. ¶Ç, B´Â AÀÇ ºÎÁ¤ÀÚÀ̱⵵ ÇÑ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¿¹¸¦ µé¸é, ´ëºÎºÐÀÇ µ¥ÀÌÅÍÇü¿¡¼´Â <¿Í >=´Â ºÎÁ¤ÀÚ ½ÖÀÌ µË´Ï´Ù. ¿¬»êÀÚ°¡ ÀÚ½ÅÀÇ ºÎÁ¤ÀÚ°¡ µÇ´Â ÀÏÀº °áÄÚ ¾ø½À´Ï´Ù.
±³È¯ ¿¬»êÀÚ¿Í ´Þ¸®, ´ÜÇ× ¿¬»êÀÚ ½ÖÀº ¼·Î ºÎÁ¤Àڷμ À¯È¿ÇÏ°Ô ÁöÁ¤µË´Ï´Ù. Áï, ¸ðµç x¿¡ ´ëÇØ¼ (A x)°¡ NOT (B x)¿Í µ¿ÀÏÇÔÀ» ÀǹÌÇÕ´Ï´Ù. ¿À¸¥ÂÊ ´ÜÇ× ¿¬»êÀÚ¿¡¼µµ °°½À´Ï´Ù.
¾î´À ¿¬»êÀÚÀÇ ºÎÁ¤ÀÚ´Â, ±× ¿¬»êÀÚ Á¤ÀÇÀÇ ¿ÞÂÊ ¿ÀÆÛ·£µå, ¿À¸¥ÂÊ ¿ÀÆÛ·£µå¿Í °°Àº ÇüŸ¦ °¡Á®¾ß ÇÕ´Ï´Ù. Áï, COMMUTATOR±¸¿Í °°°Ô ¿¬»êÀÚÀÇ À̸§¸¸ NEGATOR±¸·Î ÁÙ »ÓÀÔ´Ï´Ù.
NOT (x = y)¶ó´Â ½ÄÀ» x <> y¶ó°í ÇÏ´Â ÇüÅ¿¡ ´Ü¼øÈ ½ÃŰ´Â °ÍÀÌ °¡´ÉÇØ¼, ºÎÁ¤ÀÚ°¡ ÀÖ´Â °ÍÀÌ Äõ¸® ÃÖÀûÈ¿¡ ÀÖ¾î ¸Å¿ì µµ¿òÀÌ µË´Ï´Ù. ´Ù¸¥ Àç¹èÄ¡ÀÇ °á°ú·Î¼ NOTÁ¶ÀÛÀÌ »ðÀԵǴ °æ¿ì°¡ Àֱ⠶§¹®¿¡, ÀÌ Çö»óÀº »ý°¢Çß´ø °Íº¸´Ù ºó¹øÇÏ°Ô ÀϾ´Ï´Ù.
ºÎÁ¤ÀÚ ½ÖÀº, À§ÀÇ ±³È¯ÀÚÀÇ ½ÖÀ¸·Î ¼³¸íÇÑ ¹æ¹ý°ú °°Àº ¹æ¹ýÀ¸·Î Á¤ÀÇÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
RESTRICT±¸°¡ ÁÖ¾îÁ³À» °æ¿ì, ±×°ÍÀº, ±× ¿¬»êÀÚ¿ëÀÇ Á¦ÇÑ ¼±Åà ÃßÁ¤ ÇÔ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù (¿¬»êÀÚ¸íÀÌ ¾Æ´Ï°í ÇÔ¼ö¸íÀÎ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä). RESTRICT±¸´Â booleanÇüÀ» µ¹·ÁÁÖ´Â 2Ç׿¬»êÀÚ¿¡ ´ëÇØ¼¸¸ À¯È¿ÇÕ´Ï´Ù. Á¦ÇÑ ¼±Åà ÃßÁ¤ÀÇ ¸ñÀûÀº, ÇöÀçÀÇ ¿¬»êÀÚ¿Í Æ¯Á¤ÀÇ Á¤¼ö°ª¿¡ ´ëÇÑ WHERE±¸
column OP constant
ÀÇ Á¶°ÇÀ» ä¿ì´Â Å×ÀÌºí ³»ÀÇ ÇàÀÇ ºñÀ²À» ÃßÃøÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ Çü½ÄÀ» °¡Áø WHERE±¸¿¡ ÀÇÇØ, ¾î´À Á¤µµÀÇ ÇàÀÌ Á¦°ÅµÇ´ÂÁö¸¦ ÅëÁöÇÏ´Â °ÍÀ¸·Î, ÃÖÀûȸ¦ µ½½À´Ï´Ù (Á¤¼ö°ªÀÌ ÁÂÇ׿¡ ÀÖÀ¸¸é ¹«¾ùÀÌ ÀϾ´ÂÁö Àǹ®ÀÌ »ý±æÁöµµ ¸ð¸¨´Ï´Ù¸¸, ±×°ÍÀº COMMUTATOR°¡ Á¸ÀçÇÏ´Â ÀÌÀ¯ÀÇ ÇϳªÀ̱⵵ ÇÕ´Ï´Ù).
»õ·Î¿î Á¦ÇÑ ¼±Åà ÃßÁ¤ ÇÔ¼öÀÇ ±â¼ú ¹æ¹ýÀº º»ÀåÀÇ ³»¿ëÀ» ³Ñ°í ÀÖ½À´Ï´Ù¸¸, ´ÙÇེ·´°Ôµµ, ¸¹Àº »ç¿ëÀÚ Á¤ÀÇÀÇ ¿¬»êÀÚ¿¡ ´ëÇØ Åë»ó ¸î °³ÀÇ ½Ã½ºÅÛ Ç¥ÁØÀÇ ÃßÁ¤ ÇÔ¼ö¸¦ »ç¿ëÇϸé ÃæºÐÇÕ´Ï´Ù. ½Ã½ºÅÛ Ç¥ÁØÀÇ Á¦ÇÑ ÃßÁ¤ ÇÔ¼ö¿¡´Â ¾Æ·¡¿Í °°Àº °ÍÀÌ ÀÖ½À´Ï´Ù.
=¿ë¹«ÀÇ eqsel
|
<>¿ëÀÇ neqsel
|
< ¶Ç´Â <=¿ëÀÇ scalarltsel
|
> ¶Ç´Â >=¿ëÀÇ scalargtsel
|
ÀÌ·¯ÇÑ ºÐ·ù°¡ µÇ¾î ÀÖ´Â °ÍÀÌ ÀÌ»óÇÏ°Ô º¸ÀÏÁöµµ ¸ð¸¨´Ï´Ù¸¸, ´ÙÀ½°ú °°Àº ÀÏÀ» »óÁ¤ÇÏ¸é ±×¸¸ÇÑ Àǹ̰¡ ÀÖ´Â °ÍÀÌ ÀÌÇØÇÒ ¼ö ÀÖ½À´Ï´Ù. =´Â ƯÈ÷ Å×ÀÌºí ³» ÇàÀÇ ÀÛÀº ºÎºÐÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù. <>´Â ƯÈ÷ ÀÛÀº ºÎºÐÀ» Á¦¿ÜÇÕ´Ï´Ù. <´Â, ÁöÁ¤ÇÑ Á¤¼ö°¡ Å×À̺í¿ÀÌ ÃëÇÏ´Â °ªÀÇ ¹üÀ§ÀÇ ±Ùó ¾îµð¿¡ À§Ä¡ÇÏ´ÂÁö¿¡ ÀÇÁ¸ÇÏ´Â ºÎºÐÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù (À̰ÍÀº ÀÚÁÖ ¹ß»ýÇÏ´Â °ÍÀÔ´Ï´Ù. ANALYZE¿¡ ÀÇÇØ ¼öÁýµÇ´Â Á¤º¸·Î, ¼±Åà ÃßÁ¤ ÇÔ¼ö·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºµË´Ï´Ù). <=´Â, °°Àº Á¤¼ö ºñ±³¿¡ ÀÖ¾î <º¸´Ù ¾à°£ Å« ºÎºÐÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù. ƯÈ÷ ´ë·«ÀûÀÎ ÃßÃø ÀÌ»óÀ» ½Ç½ÃÇÏ´Â °ÍÀº ÀûÀýÇÏÁö´Â ¾Ê±â ¶§¹®¿¡, ±¸º°ÇÒ °¡Ä¡°¡ ¾ø´Ù°í ÇÒ ¼ö ÀÖÀ» Á¤µµ·Î ±Ù»çÇÑ °ªÀÔ´Ï´Ù. >¿Í >=¿¡ ´ëÇØ¼µµ µ¿ÀÏÇÑ Àû¿ëÀ» ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸Å¿ì ³ô°Å³ª ¶Ç´Â ¸Å¿ì ³·Àº ¼±ÅüºÀ» °¡Áö´Â ¿¬»êÀÚ°¡, ¿ÏÀüÈ÷ µ¿ÀÏÇÑÁö ¾Æ´ÑÁöµµ »ó°ü¾øÀÌ,
eqsel ¶Ç´Â neqsel¸¦ »ç¿ëÇÏÁö ¾Ê´Â °Íµµ ¶§¶§·Î °¡´ÉÇÕ´Ï´Ù.
¿¹¸¦ µé¸é, ±Ù»ç µîÈ£ÀÇ ±âÇÏ ¿¬»êÀÚ´Â Å×À̺íÀÇ ¿£Æ®¸®ÀÇ ¿ÀºÎºÐ¿¡¸¸ ÇÕÄ¡ÇÏ´Â °ÍÀ» °¡Á¤ÇØ eqsel¸¦ »ç¿ëÇÕ´Ï´Ù.
¹üÀ§ ºñ±³¸¦ À§Çؼ ¼öÄ¡ ½ºÄ®¶ó·Î º¯È¯ÇÏ´Â °Í¿¡ ¿¹¹ÎÇÑ µ¥ÀÌÅÍÇüÀ» ºñ±³Çϱâ À§Çؼ,
scalarltsel°ú scalargtsel¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.
ÇÒ ¼ö ÀÖÀ¸¸é src/backend/utils/adt/selfuncs.cÀÇ
convert_to_scalar()ÀÇ ±â´ÉÀ¸·Î ÀÌÇØ °¡´ÉÇÑ µ¥ÀÌÅÍÇüÀ» Ãß°¡ÇØ ÁÖ¼¼¿ä
(ÇâÈÄ, ÀÌ ±â´ÉÀº, ¾ÆÁ÷ ÇàÇØÁöÁö ¾ÊÀº °ÍÀ¸·Î, pg_type½Ã½ºÅÛ ¸ñ·ÏÀÇ ¿·Î ½Äº°µÈ, µ¥ÀÌÅÍÇü º° ÇÔ¼ö·Î ¿Å°ÜÁú ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.).
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê¾Æµµ ¿òÁ÷ÀÔ´Ï´Ù¸¸, ÃÖÀûÈ´Â º»·¡ÀÇ ÃßÃø ±â´ÉÀ» ÃæºÐÈ÷ ¹ßÈÖÇÒ ¼ö ¾ø½À´Ï´Ù.
±âÇÏ ¿¬»êÀÚ¿¡ ´ëÇÑ Ãß°¡ ¼±Åà ÃßÁ¤ ÇÔ¼ö areasel, positionsel, contsel´Â
src/backend/utils/adt/geo_selfuncs.c¿¡ ¾²¿©Á® ÀÖ½À´Ï´Ù.
º»ÀåÀÇ ÁýÇÊ ½ÃÁ¡¿¡¼´Â, À̰͵éÀº ´Ü¼øÇÑ ±×·çÅͱâÀÔ´Ï´Ù¸¸, ¾î·µç »ç¿ëÇÏ°í ½ÍÀº(ȤÀº °³¼±ÇÏ°í ½Í´Ù)°Íµµ ÀÖÀ» °ÍÀÔ´Ï´Ù.
JOIN±¸°¡ ÁÖ¾îÁ³À» °æ¿ì, ±×°ÍÀº ±× ¿¬»êÀÚÀÇ °áÇÕ ¼±Åà ÃßÁ¤ ÇÔ¼öÀÇ À̸§À» ³ªÅ¸³À´Ï´Ù (À̰ÍÀÌ ¿¬»êÀÚ¸íÀÌ ¾Æ´Ï°í ÇÔ¼ö¸íÀÎ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä). JOIN±¸´Â booleanÇüÀ» µ¹·ÁÁÖ´Â 2Ç׿¬»êÀÚ¸¸ À¯È¿ÇÕ´Ï´Ù. °áÇÕ ¼±Åà ÃßÁ¤ÀÇ ¸ñÀûÀº, ÇöÀçÀÇ ¿¬»êÀÚ¿¡ ´ëÇØ, WHERE±¸
table1.column1 OP table2.column2
¸¦ ä¿ì´Â Å×ÀÌºí ³» ÇàÀÇ ºñÀ²À» ÃßÃøÇÏ´Â °ÍÀÔ´Ï´Ù. RESTRICT±¸ÀÇ »ç¿ë°ú °°ÀÌ, ¸î °³ÀÇ ÃëÇÒ ¼ö ÀÖ´Â °áÇÕ ¼ø¼ °¡¿îµ¥, ¾î¶² °ÍÀÌ °¡Àå ÀÛ¾÷·®ÀÌ Àû°Ô »ý°¢µÇ´ÂÁö¸¦ °è»ê½ÃŰ´Â °ÍÀ¸·Î, ÃÖÀûȸ¦ ½ÇÁúÀûÀ¸·Î µ½½À´Ï´Ù.
ÀÌÀü°ú °°ÀÌ, º»Àå¿¡¼µµ ÅëÇÕ ¼±Åà ÃßÁ¤ ÇÔ¼öÀÇ ÀÛ¼º ¹æ¹ýÀº ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù. Àû¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ ÀÖÀ¸¸é, Ç¥ÁØ ÃßÁ¤ ÇÔ¼öÀÇ »ç¿ëÀ» ÃßõÇÕ´Ï´Ù.
=¿ë¹«ÀÇ eqjoinsel |
<>¿ëÀÇ neqjoinsel
|
< ȤÀº <=¿ëÀÇ scalarltjoinsel
|
> ȤÀº >=¿ëÀÇ scalargtjoinsel
|
2 Â÷¿ø ¸éÀûÀ» ±âº»À¸·Î ÇÑ ºñ±³¿ëÀÇ areajoinsel
|
2 Â÷¿ø À§Ä¡¸¦ ±âº»À¸·Î ÇÑ ºñ±³¿ëÀÇ positionjoinsel
|
2 Â÷¿ø ÇÔÀ¯ °ü°è¸¦ ±âº»À¸·Î ÇÑ ºñ±³¿ëÀÇ contjoinsel
|
HASHES±¸°¡ Á¸ÀçÇÏ´Â °æ¿ì, ±×°ÍÀº ½Ã½ºÅÛ¿¡ ´ëÇØ¼, ÀÌ ¿¬»êÀÚ¿¡ ±Ù°ÅÇÑ °áÇÕ¿¡ ÇØ½Ã °áÇÕ ¹æ¹ýÀ» »ç¿ëÇØµµ ¹®Á¦°¡ ¾ø´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. HASHES±¸´Â booleanÇüÀ» µ¹·ÁÁÖ´Â 2Ç׿¬»êÀÚ¿¡°Ô¸¸ À¯È¿ÇÕ´Ï´Ù. ½ÇÁ¦·Î´Â, ÀÌ ¿¬»êÀÚ´Â, ¾î´À µ¥ÀÌÅÍÇüÀÇ µî°¡¼ºÀ» Ç¥ÇöÇØ¾ß ÇÕ´Ï´Ù.
ÇØ½Ã °áÇÕÀÇ ±âÃʰ¡ µÇ°í ÀÖ´Â °¡Á¤Àº, °áÇÕ ¿¬»êÀÚ´Â ÁÂÇ×°ú ¿ìÇ×ÀÇ °ªÀÌ °°Àº ÇØ½Ã Äڵ带 °¡Áú ¶§¿¡¸¸ ÂüÀ» µ¹·ÁÁÙ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. 2°³ÀÇ °ªÀÌ ´Ù¸¥ ÇØ½Ã ¹öŶ¿¡ ³õ¿©Á³À» °æ¿ì, °áÇÕ ¿¬»êÀÚÀÇ °á°ú°¡ ¹Ýµå½Ã °ÅÁþÀ̶ó´Â °¡Á¤À», ¾Ï¹¬ÀûÀ¸·Î °áÇÕÀ» ½Ç½ÃÇØ, ±×°ÍµéÀ» ºñ±³ÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼, ¾î¶°ÇÑ µî°¡¼ºÀ» ³ªÅ¸³»Áö ¾Ê´Â ¿¬»êÀÚ¿¡ HASHES±¸¸¦ ÁöÁ¤ÇÏ´Â °ÍÀº ÀüÇô Àǹ̰¡ ¾ø½À´Ï´Ù.
HASHESÇ¥½Ã¸¦ Çϱâ À§Çؼ, °áÇÕ ¿¬»êÀÚ´Â ÇØ½Ã À妽ºÀÇ ¿¬»êÀÚ Å¬·¡½º³»¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¿¬»êÀÚ¸¦ ÀÛ¼ºÇÒ ¶§¿¡´Â ÂüÁ¶ÇÏ´Â ¿¬»êÀÚ Å¬·¡½º°¡ ¾ÆÁ÷ Á¸ÀçÇÏÁö ¾ÊÀ¸¹Ç·Î, ¿¬»êÀÚÀÇ ÀÛ¼º½Ã¿¡ À̰ÍÀº ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, ¿¬»êÀÚ Å¬·¡½º°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡, ÀÌ ¿¬»êÀÚ¸¦ ÇØ½Ã °áÇÕÀ¸·Î »ç¿ëÇÏ·Á°í Çϸé, ½ÇÇà½Ã¿¡ ½ÇÆÐÇÕ´Ï´Ù. ½Ã½ºÅÛÀº, ¿¬»êÀÚÀÇ ÀÔ·Â µ¥ÀÌÅÍÇüÀÇ µ¥ÀÌÅÍÇü ƯÀ¯ ÇØ½¬ ÇÔ¼ö¸¦ °Ë»öÇϱâ À§Çؼ, ¿¬»êÀÚ Å¬·¡½º¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ¹°·Ð, ¿¬»êÀÚ Å¬·¡½º¸¦ ÀÛ¼ºÇϱâ Àü¿¡ ÀûÀýÇÑ ÇØ½¬ ÇÔ¼ö¸¦ ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù.
ÇØ½¬ ÇÔ¼ö¸¦ ÁغñÇÒ ¶§¿¡´Â ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù.
¸Ó½Å¿¡ ÀÇÁ¸ÇÏ´Â °ÍÀ¸·ÎºÎÅÍ, ÇØ½Ã °áÇÕÀÌ ÀûÀýÇÑ Ã³¸®¸¦ ½Ç½ÃÇÏÁö ¾Ê°í ½ÇÆÐÇϱ⠶§¹®ÀÔ´Ï´Ù.
¿¹¸¦ µé¸é, µ¥ÀÌÅÍÇüÀÌ ºÒÇÊ¿äÇÑ ºñÆ®¸¦ °¡Áú °¡´É¼ºÀÌ ÀÖ´Â ±¸Á¶ÀÎ °æ¿ì,
(ÃßõÇÏ´Â Àü·«ÀÎ, ´Ù¸¥ ¿¬»êÀÚ¿Í ÇÔ¼ö¸¦ ÀÛ¼ºÇØ, ºÒÇÊ¿äÇÑ ºñÆ®°¡ Ç×»ó Á¦·Î°¡ µÇ´Â °ÍÀ» º¸ÁõÇÏÁö ¾Ê´Â ÇÑ,) ±× ±¸Á¶ Àüü¸¦
´Ü¼øÇÏ°Ô hash_any¿¡ °Ç³×ÁÙ ¼ö ¾ø½À´Ï´Ù.
ÀÌ ´Ù¸¥ ¿¹·Î¼ IEEEºÎµ¿ ¼Ò¼öÁ¡ Ç¥ÁØÀ» ä¿ì´Â ¸Ó½Å¿¡¼´Â, ¸¶À̳ʽº 0À¸·Î Ç÷¯½º 0Àº ´Ù¸¥ °ª(´Ù¸¥ ºñÆ®¿)ÀÌ µË´Ï´Ù¸¸,
ÀÌ ºñ±³´Â µî°¡¶ó°í Á¤Àǵ˴ϴÙ.
ºÎµ¿ ¼Ò¼öÁ¡¼ö(½Ç¼ö)°ªÀÌ ¸¶À̳ʽº 0À» °¡Áú °¡´É¼ºÀÌ ÀÖ´Ù¸é, ±×°ÍÀÌ Ç÷¯½º 0À¸·Î °°Àº ÇØ½Ã Äڵ带 È®½ÇÈ÷ »ý¼ºÇÏ´Â °Í °°Àº óġ°¡ ÇÊ¿äÇÕ´Ï´Ù.
Note: ÇØ½Ã °áÇÕ °¡´É ¿¬»êÀÚÀÇ ±â°¡ µÇ´Â ÇÔ¼ö´Â immutable ȤÀº stable°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. volatileÀÇ °æ¿ì, ½Ã½ºÅÛÀº ±× ¿¬»êÀÚ¸¦ °áÄÚ ÇØ½Ã °áÇÕ¿¡ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.
Note: ÇØ½Ã °áÇÕ °¡´É ¿¬»êÀÚÀÇ ¹èÈÄÀÇ ÇÔ¼ö°¡ Á¤¹ÐÇÑ °æ¿ì, ±× ÇÔ¼ö°¡ ¿Ï¼ºµË´Ï´Ù. Áï 2°³ÀÇ ºñNULL ÀԷ¿¡ ´ëÇØ¼, Âü ¶Ç´Â °ÅÁþÀ» µ¹·ÁÁÖ°í, Àý´ë NULLÀ» µ¹·ÁÁÖÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. ÀÌ ±ÔÄ¢¿¡ µû¸£Áö ¾ÊÀ¸¸é INÁ¶ÀÛ¿¡ ÀÖ¾î¼ÀÇ ÇØ½Ã ÃÖÀûÈ´Â À߸øµÈ °á°ú¸¦ »ý¼ºÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù (ƯÈ÷, Ç¥ÁØ¿¡ µû¸£¸é NULL°¡ ¿Ã¹Ù¸¥ ´ë´äÀÌ µÇ´Â °÷¿¡ IN´Â °ÅÁþÀ» µ¹·ÁÁÙÁöµµ ¸ð¸¨´Ï´Ù. ȤÀº, NULL¶ó°í ÇÏ´Â °á°ú¿¡ ´ëÇÑ ÁغñµÇÁö ¾ÊÀº ¿¡·¯¸¦ »ý¼ºÇÒÁöµµ ¸ð¸¨´Ï´Ù).
MERGES±¸°¡ Á¸ÀçÇÏ´Â °æ¿ì, ±×°ÍÀº ½Ã½ºÅÛ¿¡ ´ëÇØ¼, ÀÌ ¿¬»êÀÚ¿¡ ±Ù°ÅÇÑ °áÇÕ¿¡ º´ÇÕ °áÇÕ ¹æ¹ýÀ» »ç¿ëÇØµµ ¹®Á¦°¡ ¾ø´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. MERGES±¸´Â booleanÇüÀ» µ¹·ÁÁÖ´Â 2Ç׿¬»êÀÚ¿¡¸¸ À¯È¿ÇÕ´Ï´Ù. ½ÇÁ¦·Î´Â, ¿¬»êÀÚ°¡ µ¥ÀÌÅÍÇü ¶Ç´Â µ¥ÀÌÅÍÇü ½ÖÀÇ µî°¡¼ºÀ» ³ªÅ¸³»¾ß ÇÕ´Ï´Ù.
º´ÇÕ °áÇÕÀº, ÁÂÃøÀÇ Å×À̺í, ¿ìÃøÀÇ Å×À̺íÀ» ¼ø¼¸¦ Àß Á¤·Ä ÇØ, º´·Ä¿¡ ½ºÄµ ÇÑ´Ù°í ÇÏ´Â »ý°¢¿¡ ±Ù°ÅÇϰí ÀÖ½À´Ï´Ù. µû¶ó¼, µÎ µ¥ÀÌÅÍÇü ¸ðµÎ´Â ¿ÏÀüÇÑ ¼ø¼ºÎ ±â´ÉÀÌ ÇÊ¿äÇϰí, °áÇÕ ¿¬»êÀÚ´Â Á¤·Ä¼ø¼·Î "°°Àº Àå¼Ò"¿¡ ÀÖ´Â °ªÀÇ ½Ö ¸¸À» ¼º°øÇÑ °ÍÀ¸·Î ÇØ¾ß¸¸ ÇÕ´Ï´Ù. ½ÇÁ¦·Î À̰ÍÀº, °áÇÕ ¿¬»êÀÚ´Â µî°¡¼º°ú °°Àº ÇൿÀ» ÇØ¾ß ÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ±×·¯³ª, º´ÇÕ °áÇÕÀº ³í¸®ÀûÀΠȣȯ¼ºÀ» °¡Áö´Â ´Ù¸¥ 2°³ÀÇ µ¥ÀÌÅÍÇüÀ» ÃëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, smallint ´ë integerÀÇ µî°¡¼º ¿¬»êÀÚ´Â º´ÇÕ °áÇÕÀÌ °¡´ÉÇÕ´Ï´Ù. ¾çÂÊ ¸ðµÎÀÇ µ¥ÀÌÅÍÇüÀ» ³í¸®ÀûÀΠȣȯ¼ºÀ» À¯ÁöÇÏ´Â ½ÃÄö½º·Î Á¤·ÄÇÏ´Â ¿¬»êÀÚ¸¸ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
º´ÇÕ °áÇÕÀÇ ½ÇÇàÀº ½Ã½ºÅÛÀÌ º´ÇÕ °áÇÕ µî°¡¼º ¿¬»êÀÚ¿Í °ü·ÃµÈ 4°³ÀÇ ¿¬»êÀÚ·Î ½Äº°ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¿ÞÂÊ ¿ÀÆÛ·£µå µ¥ÀÌÅÍÇü°ú ºñ±³ÇÑ °Íº¸´Ù ÀÛ°í, ¿À¸¥ÂÊ ¿ÀÆÛ·»µå µ¥ÀÌÅÍÇü°ú ºñ±³ÇÑ °Íº¸´Ù ÀÛ°í, µÎ µ¥ÀÌÅÍÇüÀÇ ºñ±³º¸´Ù ÀÛ°í, µÎ µ¥ÀÌÅÍÇüÀÇ ºñ±³º¸´Ù Å« °æ¿ìµéÀÌ ÀÖ½À´Ï´Ù. (À̰͵éÀº º´ÇÕ °áÇÕ°¡´ÉÇÑ ¿¬»êÀÚ°¡ µÎ °³ÀÇ ´Ù¸¥ ¿ÀÆÛ·£µå µ¥ÀÌÅÍ ÇüÀ» °¡Áö°í ÀÖÀ» ¶§, »ç½Ç»ó ³× °³ÀÇ º°°³ÀÇ ¿¬»êÀÚ°¡ µË´Ï´Ù. ±×·¯³ª, ¿ÀÆÛ·£µå ÇüÀÌ ¼¼°³ ÀÌÇÏÀÇ ¿¬»êÀÚ¿Í °°À» ¶§ ¿¬»êÀÚ´Â ¸ðµÎ °°Àº ¿¬»êÀÚÀÔ´Ï´Ù.) ÀÌ·± ¿¬»êÀÚµéÀ» À̸§À» SORT1, SORT2, LTCMP, ¿Í GTCMP ¿É¼Ç ó·³ °¢°¢ °³º°ÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Ã½ºÅÛÀº MERGES¸¦ ÁöÁ¤ÇÒ ¶§ ÀÌ Áß ¾î´À °ÍÀÌ »ý·«µÇ´Â °æ¿ì, ±âº»°ª¸í¿¡ <, <, <, >¸¦ °¢°¢ ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, MERGES´Â ³× ¿¬»êÀÚ ¿É¼ÇÀÌ »ý±ä °ÍÀ» ¼ö¹ÝÇÏ´Â °ÍÀ» °¡Á¤ÇÕ´Ï´Ù. µû¶ó¼, ¿¬»êÀÚ ¿É¼ÇÀ» ÁöÁ¤Çϰí, ½Ã½ºÅÛ¿¡ ±× ³ª¸ÓÁö¸¦ ³Ö´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù.
³× °³ÀÇ ºñ±³ ¿¬»êÀÚÀÇ ¿ÀÆÛ·£µå µ¥ÀÌÅÍÇüÀº º´ÇÕ °áÇÔ°¡´É ¿¬»êÀÚÀÇ ¿ÀÆÛ·£µåÇüÀ¸·ÎºÎÅÍ Ãß·ÐµÉ ¼ö ÀÖ½À´Ï´Ù. ´ÜÁö COMMUTATOR¸¦ »ç¿ëÇÒ ¶§ ó·³, ÇÊ¿äÇÑ ¿¬»êÀÚ À̸§¸¸ÀÌ ÀÌ Àý¿¡ ÁÖ¾îÁý´Ï´Ù. Ư¼öÇÑ ¿¬»êÀÚ À̸§À» ¼±ÅÃÇÏ¿© »ç¿ëÇÏ´Â °æ¿ì°¡ ¾Æ´Ï¶ó¸é, MERGES¸¦ ¾²°Å³ª ½Ã½ºÅÛ ¼¼ºÎ»çÇ׿¡ ³Ö´Â °ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù. (COMMUTATOR¿Í NEGATORÀÇ °æ¿ì ó·³, ÀÌ ÀüÀÇ ´Ù¸¥ ¿¬»êÀÚ¿Í µ¿Á¾ÀÓÀ» Á¤ÀÇÇÒ ¶§, ½Ã½ºÅÛÀº °¡Â¥ÀÇ ¿¬»êÀÚ ¿£Æ®¸®¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù.)
º´ÇÕ °¡´ÉÇÑÁö È®ÀÎÇØ¾ß ÇÏ´Â, ¿¬»êÀÚ¿¡ ´ëÇÑ Ãß°¡Àû Á¦¾àÀÌ ÀÖ½À´Ï´Ù ÀÌ·¯ÇÑ Á¦¾àµéÀº ÇöÀç CREATE OPERATOR¿¡ ÀÇÇØ È®Àεǰí ÀÖÁö ¾Ê½À´Ï´Ù¸¸, ¿¡·¯´Â ¿¬»êÀÚ°¡ ÂüÀÌ ¾Æ´Ñ °æ¿ì »ç¿ëµÉ ¶§ ¹ß»ýÇÕ´Ï´Ù.
º´ÇÕ °¡´É µ¿ÀÏ ¿¬»êÀÚ´Â ¹Ýµå½Ã º´ÇÕ °áÇÕÇÏ´É ±³È¯ÀÚ¿©¾ß ÇÕ´Ï´Ù. (µÎ ¿ÀÆÛ·£µå µ¥ÀÌÅÍÇüÀÌ °°À» °æ¿ì, ¶Ç´Â µ¥ÀÌÅÍÇüÀº ´Ù¸£Áö¸¸ µ¿ÀÏ ¿¬»êÀÚ¿¡ °ü·ÃµÉ °æ¿ì)
º´ÇÕ °áÇÕ °¡´É ¿¬»êÀÚ¿Í ¿¬°üµÈ µÎ µ¥ÀÌÅÍÇü A¿Í B, ±×¸®°í B¿Í ¿¬°üµÈ º´ÇÕ °áÇÕ °¡´É ¿¬»êÀÚ ¶Ç ´Ù¸¥ ¼¼ Àü° µ¥ÀÌÅÍÇü C°¡ ÀÖ´Â °æ¿ì, A¿Í B´Â ¹Ýµå½Ã º´ÇÕ °áÇÕ °¡´ÉÇÑ ¿¬»êÀÚ¿©¾ß Çϸç, À̰ÍÀº º´ÇÕ °¡´É ¿¬»êÀÚ°¡ ÀüÀ̵Ǿî¾ß ÇÑ´Ù´Â ¸»À̱⵵ ÇÕ´Ï´Ù.
À̸§ ºÙÀÎ ³× °³ÀÇ ºñ±³ ¿¬»êÀÚÀÇ µ¥ÀÌÅÍ °ªÀ» ÀûÇÕÇÏ°Ô Á¤·ÄÇÏÁö ¾ÊÀ¸¸é, ÀÌ»óÇÑ °á°ú°¡ ½ÇÇàÇÏ´Â µ¿¾È¿¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.
Note: º´ÇÕ °áÇÕ °¡´É ¿¬»êÀÚÀÇ ¹èÈÄ¿¡ ÀÖ´Â ÇÔ¼ö´Â immutable ȤÀº stable°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. volatileÀÇ °æ¿ì, ½Ã½ºÅÛÀº ±× ¿¬»êÀÚ¸¦ °áÄÚ º´ÇÕ °áÇÕ¿¡ »ç¿ëÇÏ·Á°í ÇÏÁö ¾Ê½À´Ï´Ù.
Note: 7.3 ÀÌÀüÀÇ ¹öÀüPostgreSQL¿¡´Â, MERGES ¼Ó±â´Â Çã¿ëµÇÁö ¾Ê½À´Ï´Ù. º´ÇÕ °áÇÔ °¡´ÉÇÑ ¿¬»êÀÚ´Â SORT1¿Í SORT2 ¸ðµÎ ¸í½ÃÀûÀ¸·Î ±â·ÏÇØ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ, LTCMP¿Í GTCMP ¿É¼ÇÀº Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¿¬»êÀÚ¸íÀÌ <¿Í > °°ÀÌ °¢°¢ Á÷Á¢ ±â·ÏµÇ¾ú±â ¶§¹®ÀÔ´Ï´Ù.