52.53. pg_statistic #
РкаÑалоге pg_statistic Ñ
ÑаниÑÑÑ ÑÑаÑиÑÑиÑеÑÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑодеÑжимом Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
. ÐапиÑи в нÑм ÑоздаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ ANALYZE, а заÑем иÑполÑзÑÑÑÑÑ Ð¿Ð»Ð°Ð½Ð¸ÑовÑиком запÑоÑов. ÐамеÑÑÑе, ÑÑо вÑе ÑÑи даннÑе по пÑиÑоде Ñвоей неÑоÑнÑе, даже еÑли пÑедполагаеÑÑÑ, ÑÑо они акÑÑалÑнÑ.
ÐбÑÑно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа, подлежаÑего анализÑ, в ÑÑом каÑалоге еÑÑÑ Ð¾Ð´Ð½Ð° запиÑÑ Ñо знаÑением stainherit = false. ÐÑли Ñ ÑаблиÑÑ Ð¸Ð¼ÐµÑÑÑÑ ÑекÑии или поÑомки в иеÑаÑÑ
ии наÑледованиÑ, Ñакже ÑоздаÑÑÑÑ Ð²ÑоÑÐ°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ñ stainherit = true. ÐÑа ÑÑÑока пÑедÑÑавлÑÐµÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ ÑÑолбÑÑ Ð² деÑеве наÑледованиÑ, Ñо еÑÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ даннÑм, коÑоÑÑе возвÑаÑÐ¸Ñ Ð·Ð°Ð¿ÑÐ¾Ñ SELECT , Ñогда как ÑÑÑока Ñ ÑÑÐ¾Ð»Ð±ÐµÑ FROM ÑаблиÑа*stainherit = false пÑедÑÑавлÑÐµÑ ÑезÑлÑÑаÑÑ Ð·Ð°Ð¿ÑоÑа SELECT .ÑÑÐ¾Ð»Ð±ÐµÑ FROM ONLY ÑаблиÑа
Ð pg_statistic Ñакже Ñ
ÑаниÑÑÑ ÑÑаÑиÑÑиÑеÑÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ знаÑениÑÑ
вÑÑажений индекÑов. Ðна опиÑÑваеÑÑÑ Ñак же, как еÑли Ð±Ñ ÑÑо бÑли ÑÑолбÑÑ Ð´Ð°Ð½Ð½ÑÑ
; в ÑаÑÑноÑÑи, starelid ÑÑÑлаеÑÑÑ Ð½Ð° индекÑ. Ðднако Ð´Ð»Ñ ÑÑолбÑов, задейÑÑвÑемÑÑ
в индекÑе без вÑÑажений, дополниÑелÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð½Ðµ добавлÑеÑÑÑ, Ñак как она повÑоÑÑла Ð±Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð´Ð»Ñ Ð½Ð¸Ð¶ÐµÐ»ÐµÐ¶Ð°Ñего ÑÑолбÑа ÑаблиÑÑ. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð²Ð¾ вÑеÑ
запиÑÑÑ
Ð´Ð»Ñ Ð²ÑÑажений индекÑов stainherit = false.
Так как Ð´Ð»Ñ ÑазлиÑнÑÑ
Ñипов даннÑÑ
могÑÑ Ð±ÑÑÑ ÑмеÑÑÐ½Ñ ÑазлиÑнÑе ÑÐ¸Ð¿Ñ ÑÑаÑиÑÑики, в каÑалоге pg_statistic не делаеÑÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑÑ
пÑедположений о Ñом, ÐºÐ°ÐºÐ°Ñ ÑÑаÑиÑÑика в нÑм Ñ
ÑаниÑÑÑ. ÐÑделÑнÑе ÑÑолбÑÑ Ð² pg_statistic вÑÐ´ÐµÐ»ÐµÐ½Ñ ÑолÑко Ð´Ð»Ñ ÑамÑÑ
обÑиÑ
ÑвойÑÑв (напÑимеÑ, Ð´Ð¾Ð»Ñ NULL). ÐÑÑ Ð¾ÑÑалÑное Ñ
ÑаниÑÑÑ Ð² «ÑлоÑаÑ
», пÑедÑÑавлÑÑÑиÑ
Ñобой гÑÑÐ¿Ð¿Ñ ÑвÑзаннÑÑ
ÑÑолбÑов, ÑодеÑжимое коÑоÑÑÑ
опÑеделÑеÑÑÑ ÐºÐ¾Ð´Ð¾Ð²Ñм ÑиÑлом в одном из ÑÑолбÑов ÑлоÑов.
ÐаÑалог pg_statistic не должен бÑÑÑ Ð´Ð¾ÑÑÑпен на ÑÑение вÑем, Ñак как даже ÑÑаÑиÑÑиÑеÑÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑодеÑжимом ÑаблиÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑÑиÑаÑÑÑÑ ÐºÐ¾Ð½ÑиденÑиалÑной. (ÐапÑимеÑ, доволÑно инÑеÑеÑÐ½Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑе и макÑималÑнÑе знаÑÐµÐ½Ð¸Ñ Ð² ÑÑолбÑе заÑплаÑÑ.) ÐоÑÑÐ¾Ð¼Ñ ÑÑÑеÑÑвÑÐµÑ pg_stats â доÑÑÑпное вÑем Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð¿ÑедÑÑавление на базе pg_statistic, в коÑоÑом вÑдаÑÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ ÑолÑко по Ñем ÑаблиÑам, коÑоÑÑе Ð¼Ð¾Ð¶ÐµÑ ÑиÑаÑÑ ÑекÑÑий полÑзоваÑелÑ.
ТаблиÑа 52.53. СÑолбÑÑ pg_statistic
Тип ÑÑолбÑа ÐпиÑание |
|---|
ТаблиÑа (или индекÑ), к коÑоÑой пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ Ð¾Ð¿Ð¸ÑÑваемÑй ÑÑÐ¾Ð»Ð±ÐµÑ |
ÐÐ¾Ð¼ÐµÑ Ð¾Ð¿Ð¸ÑÑваемого ÑÑолбÑа |
ÐÑли true, в ÑÑаÑиÑÑике ÑÑиÑÑваÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸Ð· доÑеÑÐ½Ð¸Ñ ÑаблиÑ, а не ÑолÑко в Ñказанном оÑноÑении |
ÐÐ¾Ð»Ñ Ð·Ð°Ð¿Ð¸Ñей, в коÑоÑÑÑ ÑÑÐ¾Ñ ÑÑÐ¾Ð»Ð±ÐµÑ ÑодеÑÐ¶Ð¸Ñ NULL |
СÑедний ÑÐ°Ð·Ð¼ÐµÑ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ NULL-ÑлеменÑов, в байÑÐ°Ñ |
ЧиÑло ÑазлиÑнÑÑ
и оÑлиÑнÑÑ
Ð¾Ñ NULL знаÑений в ÑÑолбÑе. ЧиÑло болÑÑе нÑÐ»Ñ Ð¿ÑедÑÑавлÑÐµÑ ÑакÑиÑеÑкое колиÑеÑÑво ÑазлиÑнÑÑ
знаÑений. ÐÑли ÑÑо ÑиÑло менÑÑе нÑлÑ, его модÑÐ»Ñ Ð¿ÑедÑÑавлÑÐµÑ Ð¼Ð½Ð¾Ð¶Ð¸ÑÐµÐ»Ñ Ð´Ð»Ñ Ð¾Ð±Ñего колиÑеÑÑва ÑÑÑок в ÑаблиÑе; напÑимеÑ, Ð´Ð»Ñ ÑÑолбÑа, в коÑоÑом пÑимеÑно 80% знаÑений не NULL, и каждое оÑлиÑное Ð¾Ñ NULL знаÑение в ÑÑеднем повÑоÑÑеÑÑÑ Ð´Ð²Ð°Ð¶Ð´Ñ, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑедÑÑавлено знаÑение |
Ðодовое ÑиÑло, опÑеделÑÑÑее Ñод ÑÑаÑиÑÑики, Ñ
ÑанÑÑейÑÑ Ð² |
ÐпеÑаÑоÑ, Ñ ÐºÐ¾ÑоÑÑм бÑла полÑÑена ÑÑаÑиÑÑика, Ñ
ÑанÑÑаÑÑÑ Ð² |
ÐÑавило ÑоÑÑиÑовки, Ñ ÐºÐ¾ÑоÑÑм бÑла полÑÑена ÑÑаÑиÑÑика, Ñ
ÑанÑÑаÑÑÑ Ð² |
ЧиÑÐ»ÐµÐ½Ð½Ð°Ñ ÑÑаÑиÑÑика ÑооÑвеÑÑÑвÑÑÑего Ñода Ð´Ð»Ñ |
ÐнаÑÐµÐ½Ð¸Ñ ÑÑолбÑов ÑооÑвеÑÑÑвÑÑÑего Ñода Ð´Ð»Ñ |