43.31. pg_statistic

pg_statisticīŻ·Î±×´Â µ¥ÀÌÅͺ£À̽ºÀÇ ³»¿ë¿¡ °üÇÑ Åë°è µ¥ÀÌÅ͸¦ º¸Á¸ÇÕ´Ï´Ù. ¿£Æ®¸®´Â ANALYZE·Î ÀÛ¼ºµÇ¾î ÈÄ¿¡ Äõ¸® planner·Î »ç¿ëµË´Ï´Ù. ºÐ¼®µÈ °¢°¢ÀÇ Å×À̺íÀÇ ¿­¿¡ ´ëÇØ 1°³ÀÇ ¿£Æ®¸®°¡ Á¸ÀçÇÕ´Ï´Ù. ÃÖ½ÅÀÇ °ÍÀ̶ó°í »ý°¢Çصµ ¸ðµç Åë°è µ¥ÀÌÅÍ´Â º»ÁúÀûÀ¸·Î ´ë·«ÀûÀÎ °ÍÀÓ¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

pg_statistic´Â, À妽º½ÄÀÇ °ª¿¡ ´ëÇÑ Åë°è µ¥ÀÌÅ͵µ ÀúÀåÇÕ´Ï´Ù. À̰͵éÀº ¸¶Ä¡ °ªÀÌ ½ÇÁ¦ÀÇ µ¥ÀÌÅÍ¿­ÀÎ°Í °°ÀÌ Ç¥ÇöµË´Ï´Ù. ƯÈ÷starelid´Â À妽º¸¦ ÂüÁ¶ÇÕ´Ï´Ù. À̰ÍÀº ¿ø·¡ÀÇ Å×ÀÌºí¿­ÀÇ ¿£Æ®¸®¿¡ ´ëÇØ Áߺ¹ÀÌ µÇ¹Ç·Î, º¸Åë ½ÄÀ» °¡ÁöÁö ¾Ê´Â À妽º¿­¿¡´Â, ¿£Æ®¸®°¡ ÀÛ¼ºµÇÁö ¾Ê½À´Ï´Ù.

´Ù¸¥ Á¾·ùÀÇ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­´Â ´Ù¸¥ Á¾·ùÀÇ Åë°è°¡ Àû´çÇϱ⠶§¹®¿¡, pg_statistic´Â ¾î¶°ÇÑ Á¤º¸¸¦ º¸Á¸ÇÒ °ÍÀÎÁö ÃßÁ¤ÇÏÁö ¾Ê°í ¼³°èµÇ°í ÀÖ½À´Ï´Ù. (¿¹¸¦ µé¸é NULL°ú °°Àº) ±Ø´ÜÀûÀ¸·Î ÀϹÝÀûÀÎ Åë°è¸¸pg_statisticÀÇ Æ¯Á¤ÀÇ ¿­¿¡ µé¾î°©´Ï´Ù. ±× ¿Ü ¸ðµÎ´Â ½½·Ô¿­ °¡¿îµ¥ ÇϳªÀÇ ÄÚµå ¹øÈ£·Î ±× ³»¿ëÀÌ ½Äº°µÇ´Â ¿¬°üµÈ ¿­ÀÇ ±×·ìÀÎ"½½·Ô"¿¡ º¸Á¸µË´Ï´Ù. º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Âsrc/include/catalog/pg_statistic.h¸¦ ÂüÁ¶Çϼ¼¿ä.

pg_statistic´Â Å×ÀÌºí ³»¿ë¿¡ °üÇÑ Á¤º¸¶ó°í ÇØµµ °íµµÀÇ ½ÅÁßÇÔÀ» ÇÊ¿ä·Î ÇÏ´Â °ÍÀ¸·ÎºÎÅÍ ÀϹÝÀÇ »ç¿ëÀÚ°¡ ÀÐÀ» ¼ö À־´Â ¾ÈµË´Ï´Ù. pg_stats ´Â ÀϹÝÀÇ »ç¿ëÀÚ°¡ ÀÐÀ» ¼ö ÀÖ´Âpg_statistic»óÀÇ ºä·Î ±âÁ¸ÀÇ »ç¿ëÀÚ°¡ Àо ÁöÀåÀÖÁö ¾ÊÀº Å×À̺íÀÇ Á¤º¸¸¸À» °³½ÃÇϰí ÀÖ½À´Ï´Ù.

Table 43-31. pg_statisticÀÇ ¿­

À̸§ Çü ÂüÁ¶Ã³ ¼³¸í
starelid oid pg_class .oid ±â¼úµÈ ¿­ÀÌ ¼ÓÇÏ´Â Å×À̺í ȤÀº À妽º
staattnum int2 pg_attribute . attnum ±â¼úµÈ ¿­ÀÇ ¼ö
stanullfrac float4   NULL°ªÀÎ ¿­ÀÇ ¿£Æ®¸®ÀÇ ºñÀ²
stawidth int4   ºñNULL°ª ¿£Æ®¸®ÀÇ ¹ÙÀÌÆ® Ç¥Çö¿¡ ÀÇÇÑ Æò±Õ ÀúÀ寸
stadistinct float4   ¿­ ³»ÀÇ DISTINCT·Î ºñNULLÄ¡ÀÎ µ¥ÀÌÅÍÀÇ ¼ö. Á¦·Îº¸´Ù Å« °ªÀº ½ÇÁ¦ÀÇ °íÀ¯Ä¡ÀÇ ¼öÀÔ´Ï´Ù. Á¦·Îº¸´Ù ÀÛÀº °ªÀº Å×ÀÌºí³»ÀÇ Çà¼öÀÇ ºñÀ²ÀÌ À½À̶ó´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. (¿¹¸¦ µé¸é, Æò±ÕÀûÀ¸·Î 2ȸ Á¤µµ ÃâÇöÇÏ´Â °ªÀ» °¡Áö´Â ¿­Àºstadistinct = -0. 5ÀÌ´Ù°í Ç¥ÇöµË´Ï´Ù). Á¦·Î´Â °íÀ¯Ä¡¸¦ ƯÁ¤ÇÒ ¼ö ¾ø´Â °æ¿ìÀÔ´Ï´Ù.
stakind N int2   pg_statisticÇàÀÇ N¹øÂ°ÀÇ N th "slot"¿¡ º¸Á¸µÇ°í ÀÖ´Â Åë°è Á¤º¸ÀÇ Á¾·ù¸¦ ³ªÅ¸³»´Â ÄÚµå ¹øÈ£.
staop N oid pg_operator . oid N th "slot"¿¡ ÀúÀåµÇ¾î ÀÖ´Â Åë°è Á¤º¸ ÆÄ»ý¿¡ »ç¿ëµÇ´Â ¿¬»êÀÚ. ¿¹¸¦ µé¸é, È÷½ºÅä±×·¥ ½½·ÔÀº µ¥ÀÌÅÍÀÇ Á¤·Ä ¼ø¼­¸¦ Á¤ÀÇÇÏ´Â<¿¬»êÀÚ¸¦ ³ªÅ¸³À´Ï´Ù.
stanumbers N float4[]   N th "slot"¿¡ ´ëÇÑ ÀûÀýÇÑ Á¾·ùÀÇ ¼öÄ¡ Åë°è Á¤º¸, ȤÀº ½½·ÔÀÇ Á¾·ù¿¡ ¼öÄ¡°¡ Æ÷ÇÔµÇÁö ¾ÊÀ» ¶§´Â NULLÀÔ´Ï´Ù.
stavalues N anyarray   N th "slot"¿¡ ´ëÇÑ ÀûÀýÇÑ Á¾·ùÀÇ ¿­µ¥ÀÌÅÍÀÇ °ª, ȤÀº ½½·ÔÀÇ Á¾·ù¿¡ µ¥ÀÌÅÍÄ¡°¡ ¾Æ¹«°Íµµ º¸Á¸µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â NULL. °¢°¢ÀÇ ¹è¿­ ¿ä¼ÒÀÇ °ªÀº ½ÇÁ¦·Î´Â ƯÁ¤µÈ ¿­ÀÇ µ¥ÀÌÅÍÇüÀÌ µË´Ï´Ù. µû¶ó¼­ anyarray·Î ÇÏ´Â °Í ¿Ü¿¡ ¿­ÇüÀ» Á¤ÀÇÇÒ ¼ö ¾ø½À´Ï´Ù.