11.8. ¿¬»êÀÚ Å¬·¡½º

À妽º Á¤ÀÇ¿¡¼­´Â À妽ºÀÇ °¢ ¿­¿¡¿¬»êÀÚ Å¬·¡½º¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

CREATE INDEX 
name
 ON 
table
 (
column
 
opclass
 [, ...]);

¿¬»êÀÚ Å¬·¡½º¿¡ ÀÇÇØ, ±× ¿­ÀÇ À妽º·Î »ç¿ëµÇ´Â ¿¬»êÀÚ°¡ ½Äº°µË´Ï´Ù. ¿¹¸¦ µé¸é, int4ÇüÀÇ B-tree À妽º¿¡´Â int4_opsŬ·¡½º¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¿¬»êÀÚ Å¬·¡½º¿¡´Â int4ÇüÀÇ °ªÀ» ºñ±³ ÇÔ¼ö°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î´Â º¸Åë, ¿­ÀÇ µ¥ÀÌÅÍÇüÀÇ µðÆúÆ® ¿¬»êÀÚ Å¬·¡½º¿¡¼­ ÃæºÐÇÕ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½ºÀÇ ÁÖµÈ ÀÇÀÇ´Â ÀǹÌÀÖ´Â À妽ºÀÇ ÇൿÀ» °¡Áö´Â ¸î °³ÀÇ µ¥ÀÌÅÍÇü¿¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, º¹ÀâÇÑ ¼ýÀÚ µ¥ÀÌÅÍÇüÀ», Àý´ë °ª°ú ½ÇÁ¦ ºÎºÐÀ¸·Î Á¤·Ä(sorting) ÇÒ Çʿ䰡 ÀÖ´Ù°í ÇսôÙ. ÀÌ Ã³¸®´Â ±× µ¥ÀÌÅÍÇüÀÇ 2°³ÀÇ ¿¬»êÀÚ Å¬·¡½º¸¦ Á¤ÀÇÇÑ ´ÙÀ½, À妽º¸¦ ÀÛ¼ºÇÒ ¶§ ÀûÀýÇÑ Å¬·¡½º¸¦ ¼±ÅÃÇÏ´Â °ÍÀ¸·Î, ½ÇÇà °¡´ÉÇÕ´Ï´Ù. ¿¬»êÀÚ Å¬·¡½º´Â ±âº»ÀûÀÎ Á¤·Ä(sorting)¼ø¼­¸¦ °áÁ¤ÇÕ´Ï´Ù.

ÀÌÇÏ¿Í °°ÀÌ, µðÆúÆ®ÀÇ ¿¬»êÀÚ Å¬·¡½º¿Í´Â º°µµ·Î, ³»Àå ¿¬»êÀÚ Å¬·¡½º°¡ ¸î °³Àΰ¡ ÀÖ½À´Ï´Ù.

ÀÌÇÏÀÇ Äõ¸®´Â Á¤ÀÇ ³¡³­ ¿¬»êÀÚ Å¬·¡½º¸¦ ¸ðµÎ µ¹·ÁÁÝ´Ï´Ù.

SELECT am.amname AS index_method,
       opc.opcname AS opclass_name
    FROM pg_am am, pg_opclass opc
    WHERE opc.opcamid = am.oid
    ORDER BY index_method, opclass_name;

À̰ÍÀº °¢ Ŭ·¡½º¿¡ Æ÷ÇÔµÈ ¸ðµç ¿¬»êÀÚµéÀº ³ªÅ¸³»±â À§ÇØ È®ÀåµÉ ¼ö ÀÖ½À´Ï´Ù.

SELECT am.amname AS index_method,
       opc.opcname AS opclass_name,
       opr.oid::regoperator AS opclass_operator
    FROM pg_am am, pg_opclass opc, pg_amop amop, pg_operator opr
    WHERE opc.opcamid = am.oid AND
          amop.amopclaid = opc.oid AND
          amop.amopopr = opr.oid
    ORDER BY index_method, opclass_name, opclass_operator;