| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 11. À妽º | Fast Forward | Next |
PostgreSQL¿¡¼´Â B-tree, Hash, GiST, GIN¶ó°í ÇÏ´Â ´Ù¼öÀÇ À妽º ŸÀÔÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À妽ºÀÇ °¢ Á¾·ù´Â ´Ù¸¥ Á¾·ùÀÇ Äõ¸®¿¡ °¡Àå ÀûÇÕÇÑ ´Ù¸¥ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÕ´Ï´Ù. µðÆúÆ®ÀÎ CREATE INDEXÄ¿¸Çµå´Â ´ëºÎºÐÀÇ »óȲ¿¡¼ ÀϹÝÀûÀ¸·Î B-tree À妽º¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
B-tree À妽º´Â ¸î °¡Áö ¼ø¼·Î Á¤·Ä(sorting)µÉ ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ µî½Ä°ú ¹üÀ§ Äõ¸®¸¦ ´Ù·ê ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷, PostgreSQLÀÇ Äõ¸® planner´Â À妽ºµÈ ¿ÀÌ ÀÌ·¯ÇÑ ¿¬»êÀÚ¸¦ ÀÌ¿ëÇØ ºñ±³µÇ¾îÁú °æ¿ì, B-tree À妽ºÀÇ »ç¿ëÀ» °ËÅäÇÕ´Ï´Ù.
| < |
| <= |
| = |
| >= |
| > |
¶Ç BETWEEN°ú IN °°Àº ¿¬»êÀÚÀÇ Á¶ÇÕ¿¡ µ¿ÀÏÇÑ ½ÄÀ» B-tree À妽º °Ë»öÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. (±×·¯³ª IS NULL´Â =¿Í µ¿ÀÏÇÏÁö ¾ÊÀ¸¸ç, À妽º°¡ °¡´ÉÇÏÁö ¾Ê´Ù´Â °ÍÀ» ÁÖÀÇÇϽʽÿä.)
¿ÉƼ¸¶ÀÌÀú´Â ÆÐÅÏ ¸ÅÄ¡ ¿¬»êÀÚLIKE, ~¸¦ Æ÷ÇÔÇÑ Äõ¸®¿¡ ´ëÇØ, ÆÐÅÏÀÌ Á¤¼öÀ̸ç óÀ½ÀÇ ¹®ÀÚ¿À» ÁöÁ¤Çϰí ÀÖ´Â °æ¿ì , B-tree À妽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, col LIKE 'foo%' ¶Ç´Â col ~ '^foo'ÀÔ´Ï´Ù. ±×·¯³ª col LIKE '%bar'¿¡¼´Â »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ¼¹ö°¡ C·ÎÄÉÀÏÀ» »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì, ÆÐÅÏ ¸ÅÄ¡ Äõ¸®ÀÇ À妽º¸¦ Áö¿øÇϴ Ưº°ÇÑ ¿¬»êÀÚ Å¬·¡½º¸¦ ÅëÇØ À妽º¸¦ ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù. ¾Æ·¡ÀÇ Section 11.8À» ÂüÁ¶ÇØ Áֽʽÿä. µ¡ºÙ¿© ILIKE¿Í ~*¿¡¼µµ B-tree À妽º¸¦ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ÆÐÅÏÀÌ ¿µ¹®ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ Áï, ´ë¹®ÀÚ ¼Ò¹®ÀÚ Â÷ÀÌ¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â ¹®ÀÚ·Î ½ÃÀ۵Ǵ °æ¿ì¸¸ °¡´ÉÇÕ´Ï´Ù.
ÇØ½Ã À妽º´Â ´Ü¼øÇÑ ´ëµî ºñ±³¸¸ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Äõ¸® planner¿¡¼ À妽ºµÈ ¿À» =¿¬»êÀÚ¸¦ »ç¿ëÇØ ºñ±³ÇÏ´Â °æ¿ì¿¡, ÇØ½Ã À妽º »ç¿ëÀÌ °í·ÁµË´Ï´Ù. ÇØ½Ã À妽º¸¦ ÀÛ¼ºÇÏ·Á¸é ÀÌÇÏÀÇ Ä¿¸Çµå¸¦ »ç¿ëÇØ Áֽʽÿä.
CREATE INDEX name ON table USING hash ( column );
Note: ½ÃÇè °á°ú, PostgreSQLÀÇ ÇØ½Ã À妽ºÀÇ ¼º´ÉÀº B-tree À妽ºº¸´Ù ³ª»Ú¸ç, ÇØ½Ã À妽ºÀÇ À妽º Å©±â¿Í ±¸Ãà ½Ã°£µµ ´Ù¼Ò ¶³¾îÁø´Ù´Â °ÍÀ» ¾Ë¾Ò½À´Ï´Ù. °Ô´Ù°¡ ÇöÀç ÇØ½Ã À妽º Á¶ÀÛÀº WAL¿¡ ±â·ÏµÇÁö ¾Ê½À´Ï´Ù. ±×¿¡µû¶ó, µ¥ÀÌÅͺ£À̽º Àå¾Ö ÈÄ¿¡ ÇØ½Ã À妽º¸¦ À籸Ãà ÇØ¾ß ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î ÇØ½Ã À妽º »ç¿ëÀº ÃßõµÇÁö ¾Ê½À´Ï´Ù.
GiST À妽º´Â ÇÑ Á¾·ùÀÇ À妽º°¡ ¾Æ´Ñ, ¸¹Àº ´Ù¸¥ À妽º Àü·«À» ½ÇÇàÇÒ ¼öÀÖ´Â ±â¹Ý ±¸Á¶ÀÔ´Ï´Ù. µû¶ó¼, GiST À妽º¸¦ »ç¿ëÇÒ ¼ö Àִ Ưº°ÇÑ ¿¬»êÀÚ´Â À妽º Àü·«(¿¬»êÀÚ Å¬·¡½º)¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. ¿¹¸¦ µé¾î, PostgreSQL´Â ¿©·¯°¡Áö ÀÌÂ÷¿ø ±âÇÏ µ¥ÀÌÅÍÇüÀ» À§ÇÑ GiST ¿¬»êÀÚ Å¬·¡½º¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¿¬»êÀÚ¸¦ »ç¿ëÇØ À妽ºµÈ Äõ¸®¸¦ Áö¿øÇÕ´Ï´Ù.
| << |
| &< |
| &> |
| >> |
| <<| |
| &<| |
| |&> |
| |>> |
| @> |
| <@ |
| ~= |
| && |
(ÀÌ¿Í °°Àº ¿¬»êÀÚÀÇ Àǹ̿¡ ´ëÇØ¼´Â Section 9.10À» ÂüÁ¶ÇØ Áֽʽÿä. ) ´Ù¸¥ ¸¹Àº GiST ¿¬»êÀÚ Å¬·¡½º´Â contribÁýÇÕÀ̳ª ´Ù¸¥ ÇÁ·ÎÁ§Æ®·Î¼ ÀÌ¿ë °¡´ÉÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â Chapter 50À» ÂüÁ¶ÇØ Áֽʽÿä.
GIN´Â ¹Ý´ëµÇ´Â À妽ºÀ̸ç, ¹è¿À̳ª Çϳª ÀÌ»óÀÇ Å°¿Í °°Àº °ªÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù. GiST °°ÀÌ, GINÀº ¸¹°í ´Ù¾çÇÑ À¯Àú-Á¤ÀÇ À妽º Àü·«À» °¡Áú ¼ö ÀÖÀ¸¸ç, GIN¸¦ »ç¿ëÇÒ ¼ö Àִ ƯÁ¤ÇÑ ¿¬»êÀÚ´Â À妽º Àü·«¿¡ ÀÇÇØ º¯ÈÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, PostgreSQLÇ¥ÁØ ¹èÆ÷¹°¿¡¼´Â 1 Â÷¿ø ¹è¿À» À§ÇÑ GIN ¿¬»êÀÚ Å¬·¡½º°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. À̰ÍÀº ÀÌÇÏÀÇ ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â À妽ºµÈ Äõ¸®¸¦ Áö¿øÇÕ´Ï´Ù.
| <@ |
| @> |
| = |
| && |
(ÀÌ·¯ÇÑ ¿¬»êÀÚÀÇ Àǹ̿¡ ´ëÇØ¼´Â Section 9.14À» ÂüÁ¶ÇØ Áֽʽÿä. ) ´Ù¸¥ GIN ¿¬»êÀÚ Å¬·¡½º´Â contrib, tsearch2¿Í intarray¸ðµâ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â Chapter 51À» ÂüÁ¶ÇØ Áֽʽÿä.