11.1. ¼­¹®

Suppose we have a table similar to this: --> ´ÙÀ½°ú °°Àº Å×À̺íÀ» »ý°¢ÇØ º¾½Ã´Ù.

CREATE TABLE test1 (
    id integer,
    content varchar
);

¾îÇø®ÄÉÀ̼ÇÀº ´ÙÀ½°ú °°Àº ¸¹Àº Äõ¸® ÇüŸ¦ ÇÊ¿ä·Î Çϰí ÀÖ½À´Ï´Ù.

SELECT content FROM test1 WHERE id = 
constant
;

¸¸¹ÝÀÇ Áغñ¸¦ ÇÏÁö ¾ÊÀ¸¸é, ½Ã½ºÅÛÀº Çึ´Ù ÀÏÄ¡ÇÏ´Â ¸ðµç Ç׸ñÀ» ã±â À§ÇØtest1Å×À̺íÀÇ Ç׸ñÀ» ½ºÄµÇؾßÇÒ °ÍÀÔ´Ï´Ù. ¸¸¾à test1¿¡ ¸¹Àº ÇàÀÌ ÀÖ°í Äõ¸®¿Í °°ÀÌ ¹ÝȯµÉ ¼Ò¼öÀÇ Çà(¾Æ¸¶µµ 0À̳ª 1)ÀÌ ÀÖ´Ù¸é, À̰ÍÀº ºÐ¸íÈ÷ È¿À²ÀÌ ³ª»Û ¹æ¹ýÀ̶ó°í ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù. ±×·¯³ª ½Ã½ºÅÛÀÌ À妽º¸¦ id¿­¿¡¼­ À¯ÁöÇϵµ·Ï Áö½ÃÇϸé, ÀÏÄ¡ÇÏ´Â ÇàÀ» ¹ß°ßÇÏ´Â º¸´Ù È¿À²ÀÌ ÁÁÀº ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, °Ë»ö Æ®¸®ÀÇ ÀϺΠ´Ü°è¸¸À» °Ë»öÇØ¼­ ³¡³¯ ¼ö ÀÖ½À´Ï´Ù..

´ëºÎºÐÀÇ ³íÇȼǿ¡´Â °°Àº ¼ö¹ýÀÌ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù. µ¶ÀÚ°¡ ºó¹øÇÏ°Ô Á¶»çÇÏ´Â ¿ë¾î ¹× °³³äÀº Ã¥ ¸¶Áö¸·¿¡ ¾ËÆÄºª ¼ø¼­¿¡ µû¸¥ »öÀÎÀ¸·Î Á¤¸®Çϰí ÀÖ½À´Ï´Ù. ÀÌ Ã¥¿¡ Èï¹Ì¸¦ °¡Áø µ¶ÀÚ´Â »öÀÎ(À妽º)À» ÅëÇØ ºñ±³Àû ºü¸£°í °£´ÜÇÏ°Ô ÇØ´ç ÆäÀÌÁö¸¦ º¼ ¼ö ÀÖÀ¸¹Ç·Î, º¸°í ½ÍÀº ºÎºÐÀ» ã±â À§Çؼ­ ÀüºÎ¸¦ ÀÐÁö ¾Ê¾Æµµ µË´Ï´Ù. µ¶ÀÚ°¡ ºó¹øÈ÷ Á¶»çÇÒ¸¸ÇÑ Ç׸ñÀ» ¿¹»óÇÏ´Â °ÍÀÌ ÀúÀÚÀÇ ÀÏÀ̵í, ¾î´À À妽º°¡ À¯ÀÍÇѰ¡¸¦ ¿¹ÃøÇÏ´Â °ÍÀº µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¸ÓÀÇ ÀÏÀÔ´Ï´Ù.

À§¿¡¼­ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌid¿­¿¡ À妽º¸¦ ÀÛ¼ºÇÏ´Â °æ¿ì´Â ÀÌÇÏ¿Í °°Àº Ä¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù.

CREATE INDEX test1_id_index ON test1 (id);

test1_id_index À妽º¸íÀ¸·Î ÀÚÀ¯·Ó°Ô ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ¹«¾ùÀ» À§ÇØ À妽º¸¦ ÀÛ¼ºÇߴ°¡¸¦ ´ÙÀ½¿¡ ¶°¿Ã¸± ¼ö ÀÖÀ» ¸¸ÇÑ À̸§À» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.

À妽º¸¦ »èÁ¦ÇÏ·Á¸é DROP INDEXÄ¿¸Çµå¸¦ »ç¿ëÇÕ´Ï´Ù. Å×À̺íÀÇ À妽º´Â ¾ðÁ¦¶óµµ Ãß°¡ ¹× »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÏ´Ü À妽º¸¦ ÀÛ¼ºÇϸé, ´õ ÀÌ»óÀÇ Ã³¸®´Â ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ½Ã½ºÅÛÀº Å×À̺íÀÌ °»½ÅµÉ ¶§ À妽º¸¦ ¾÷µ¥ÀÌÆ®ÇÕ´Ï´Ù. ¶ÇÇÑ, Äõ¸®¿¡¼­ Å×À̺íÀÇ ½ÃÄö¼È ½ºÄµº¸´Ù È¿À²ÀûÀ̶ó°í ÆÇ´ÜµÉ °æ¿ì, À妽º¸¦ »ç¿ëÇÕ´Ï´Ù. ±×·¯³ª Äõ¸® planner·Î Á¤º¸¿¡ ±Ù°ÅÇÑ ÆÇ´ÜÀ» Çϱâ À§Çؼ­´Â Á¤±âÀûÀ¸·ÎANALYZEÄ¿¸Çµå¸¦ ½ÇÇàÇØ, Åë°è Á¤º¸¸¦ ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÕ´Ï´Ù. À妽ºÀÇ »ç¿ë ¿©ºÎ¿Í planner°¡ À妽º¸¦ »ç¿ëÇÏÁö ¾Ê°Ú´Ù ¶ó°í ÆÇ´ÜÇÑ »óȲ ¹× ÀÌÀ¯¸¦ Á¶»çÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­´Â Chapter 13À» ÂüÁ¶ÇØ Áֽʽÿä.

À妽º´Â UPDATE³ª DELETEÄ¿¸ÇµåÀÇ °Ë»ö Á¶°Ç¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ë°Ô À妽º´Â Á¶ÀÎ °Ë»ö¿¡¼­ ¸¹ÀÌ »ç¿ëµË´Ï´Ù. µû¶ó¼­, Á¶ÀÎ Á¶°ÇÀ¸·Î ±â¼úµÇ´Â ¿­¿¡ À妽º¸¦ Á¤ÀÇÇϸé, Á¶ÀÎÀ» ¼ö¹ÝÇÑ Äõ¸®¿¡ °É¸®´Â ½Ã°£À» ²Ï ´ÜÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ë±Ô¸ð Å×ÀÌºí¿¡ ´ëÇÑ À妽º ÀÛ¼ºÀº ¿À·£ ½Ã°£ÀÌ °É¸± ¼ö ÀÖ½À´Ï´Ù. µðÆúÆ® PostgreSQL´Â À妽º ÀÛ¼º°ú º´ÇàÇØ Å×À̺íÀ» Àоî(SELECT) ³¾ ¼ö ÀÖÁö¸¸, ÀÔ·Â(INSERT, UPDATE, DELETE)Àº À妽º ÀÛ¼ºÀÌ ³¡³¯ ¶§±îÁö ±ÝÁöµË´Ï´Ù. À̰ÍÀº Á¾Á¾ ¿î¿ë ȯ°æ¿¡¼­ ¹Þ¾Æµé¿©ÁöÁö ¾Ê½À´Ï´Ù. À妽º ÀÛ¼º°ú º´ÇàÇØ ÀÔ·ÂÇÏ´Â °ÍÀº °¡´ÉÇÏÁö¸¸, ¸î °¡Áö ÁÖÀÇÇØ¾ß ÇÒ »çÇ×ÀÌ ÀÖ½À´Ï´Ù. Building Indexes Concurrently ÀÇ Á¤º¸¸¦ ÂüÁ¶ÇØ Áֽʽÿä.

À妽º°¡ ÀÛ¼ºµÈ ÈÄ, ½Ã½ºÅÛ¿¡¼­´Â Å×À̺í°ú À妽º¿ÍÀÇ »çÀÌ¿¡ µ¿±âÈ­¸¦ À¯ÁöÇØ µÎ¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ´Â µ¥ÀÌÅÍ Á¶ÀÛ ¿¬»ê¿¡ ¿À¹öÇìµå¸¦ Ãß°¡½Ãŵ´Ï´Ù. µû¶ó¼­, µå¹°°Ô ȤÀº ÀüÇô »ç¿ëµÇÁö ¾Ê´Â Äõ¸® ³»ÀÇ À妽º´Â »èÁ¦Çؾ߸¸ ÇÕ´Ï´Ù.