| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 11. À妽º | Fast Forward | Next |
À妽º´Â Çϳª ÀÌ»óÀÇ Å×ÀÌºí¿¡¼ Á¤ÀǵǾî Áý´Ï´Ù. ¿¹¸¦ µé¸é, ÀÌÇÏ¿Í °°Àº Å×À̺íÀÌ ÀÖ´Ù°í ÇսôÙ.
CREATE TABLE test2 ( major int, minor int, name varchar );
(¿¹¸¦ µé¾î, µ¥ÀÌÅͺ£À̽º ³»ÀÇ /devµð·ºÅ丮¸¦ À¯Áö)±×¸®°í ºó¹øÇÏ°Ô ¾Æ·¡¿Í °°Àº Äõ¸®¸¦ ½ÇÇàÇÕ´Ï´Ù.
SELECT name FROM test2 WHERE major = constant AND minor = constant ;
ÀÌ·¯ÇÑ °æ¿ì, major¿Í minorÀÇ µÎ°³ÀÇ ¿¿¡ 1°³ÀÇ À妽º¸¦ Á¤ÀÇÇÏ´Â ÆíÀÌ ÀûÀýÇÒÁöµµ ¸ð¸¨´Ï´Ù.
CREATE INDEX test2_mm_idx ON test2 (major, minor);
ÇöÀç, B-tree ¹× GiST À妽º Á¾·ù¸¸ ´ÙÁß ¿ À妽º¸¦ Áö¿øÇϰí ÀÖ½À´Ï´Ù. ÃÖ°í 32¿±îÁö ÁöÁ¤ °¡´ÉÇÕ´Ï´Ù (ÀÌ·¯ÇÑ Á¦ÇÑ °ªÀº PostgreSQL¸¦ ºôµå ÇÒ ¶§ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. pg_config.hÆÄÀÏÀ» ÂüÁ¶ÇØ Áֽʽÿä).
´ÙÁß ¿ B-tree À妽º´Â À妽º ¿ÀÇ ºÎºÐ ÁýÇÕÀ» Æ÷ÇÔÇÏ´Â Äõ¸® Á¶°ÇÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À妽º´Â ¼±µµÇÏ´Â(ÁÂÃø) ¿¿¡ Á¦¾àÀÌ ÀÖÀ» ¶§ °¡Àå È¿À²ÀÌ ³ô½À´Ï´Ù. Á¤È®ÇÑ ·êÀº ¼±µµÇÏ´Â ¿ÀÇ ´ëµîÇÑ Á¦¾à°ú À̸¦ °¡ÁöÁö ¾Ê´Â óÀ½ ¿ÀÇ µ¿µîÇÏÁö ¾ÊÀº Á¦¾àÀÌ ½ºÄµµÇ´Â À妽º ¹üÀ§¸¦ Á¦ÇÑÇϱâ À§Çؼ »ç¿ëµÉ °ÍÀ̶ó´Â °Ì´Ï´Ù. ÀÌ·¯ÇÑ ¿ÀÇ ¿ìÃø ¿¿¡ ´ëÇÑ Á¦¾àÀº À妽º ³»¿¡¼ °Ë»çµË´Ï´Ù. ÀÌ¿¡ µû¶ó, Å×À̺íÀ» ÀûÀýÈ÷ Á¶È¸Çϵµ·Ï ÇÏÁö¸¸, ½ºÄµµÇ´Â À妽ºÀÇ ¹üÀ§¸¦ ÁÙÀÌÁö´Â ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¸é, (a, b, c)¿¡ ´ëÇÑ À妽º°¡ ÀÖ°í, WHERE a = 5 AND b >= 42 AND c < 77À̶ó°í ÇÏ´Â Äõ¸® Á¶°ÇÀÌ ÀÖ´Ù¸é, À妽º´Â a = 5 ¿Í b = 42¸¦ °¡Áö´Â Ç׸ñÀ» ¼±µÎ¿¡ µÎ°í, a = 5°¡ µÇ´Â ¸¶Áö¸· Ç׸ñ±îÁö¸¦ ½ºÄµ ÇØ¾ß ÇÕ´Ï´Ù. c >= 77À» °¡Áö´Â À妽º Ç׸ñÀº °Ç³Ê¶ÙÁö¸¸, ½ºÄµÀ» ½Ç½ÃÇØ¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ À妽º´Â ¿øÄ¢»ó, a¿¡ ´ëÇÑ Á¦¾àÀ» °¡ÁöÁö ¾ÊÀ¸³ª, b¿Í c, b ±×¸®°í c¿¡ Á¦¾à¿¡ °¡Áö´Â Äõ¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª À妽º Àüü°¡ ½ºÄµ µÇ±â ¶§¹®¿¡, ´ëºÎºÐÀÇ °æ¿ì¿¡¼ planner´Â À妽ºÀÇ »ç¿ëº¸´Ù ½ÃÄö¼È Å×ÀÌºí ½ºÄµÀ» ¼±ÅÃÇÕ´Ï´Ù.
´ÙÁß ¿ GiST À妽º´Â À妽º ´ë»ó¿ÀÇ ÀÓÀÇÀÇ ºÎºÐ ÁýÇÕÀ» Æ÷ÇÔÇÑ Äõ¸® Á¶°ÇÀ¸·Î¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Ãß°¡ÀûÀÎ ¿¿¡ ´ëÇÑ Á¶°ÇÀº À妽º·Î ¹ÝȯµÇ´Â Ç׸ñÀ» Á¦ÇÑÇÏ´Â °ÍÀÔ´Ï´Ù. ù ¹øÂ° ¿ÀÇ Á¶°ÇÀº À妽ºÀÇ ½ºÄµ ¾çÀ» °áÁ¤ÇÏ´Â °¡Àå Áß¿äÇÑ ÀÏÀÔ´Ï´Ù. ù ¹øÂ° ¿¿¡ ÀÇÇÑ Á¦ÇÑÀÌ ÀÛÀ» °æ¿ì, ½ÉÁö¾î Ãß°¡ÇÑ ¿¿¡ ÀÇÇÑ Á¦ÇÑÀÌ Å« °æ¿ì¿¡µµ, »ó´ëÀûÀ¸·Î GiST À妽º´Â ºñÈ¿À²ÀûÀÌ µË´Ï´Ù.
´ç¿¬È÷, À妽º Á¾·ù¿¡ ´ëÇØ¼ ÀûÀýÇÑ ¿¬»êÀÚ¸¦ °¢ ¿¿¡ »ç¿ëÇØ¾ß¸¸ ÇÕ´Ï´Ù. ´Ù¸¥ ¿¬»êÀÚ¸¦ Æ÷ÇÔÇÑ ±¸¹®Àº °í·ÁµÇÁö ¾Ê½À´Ï´Ù.
´ÙÁß ¿ À妽º´Â ½ÅÁßÇÏ°Ô »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¸¹Àº °æ¿ì, ´ÜÀÏ ¿ÀÇ À妽º·Î ÃæºÐÇϸç, ±×·¯´Â ÆíÀÌ µð½ºÅ© ¿µ¿ª°ú ½Ã°£À» Àý¾àÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀÇ »ç¿ë ¹æ¹ýÀÌ ±Ø´ÜÀûÀ¸·Î ½ºÅ¸ÀÏȵǾî ÀÖÁö ¾ÊÀº ÇÑ, 3°³ ÀÌ»óÀÇ ¿À» »ç¿ëÇϰí ÀÖ´Â À妽º´Â °ÅÀÇ ºÎÀûÀýÇÏ´Ù¶ó°í ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ À妽º ¼³Á¤ÀÇ ÀÌÁ¡¿¡ °üÇÑ ÀϺΠ¼³¸íÀº Section 11.4¸¦ ÂüÁ¶ÇØ Áֽʽÿä.