PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Проверете статистическите цели в PostgreSQL

Настройката за целта на статистиката се съхранява на колона в каталожната таблица pg_attribute . Можете да го настроите така:

ALTER TABLE myschama.mytable ALTER mycolumn SET STATISTICS 127;

И проверете така:

SELECT attstattarget
FROM   pg_attribute
WHERE  attrelid = 'myschama.mytable'::regclass
AND    attname = 'mycolumn';

Или просто погледнете скрипта за създаване в обектния браузър на pgAdmin, където се добавя, ако стойността е различна от стойността по подразбиране в default_statistics_target .

Цитирам ръководството на attstattarget :

attstattarget контролира нивото на детайлност на статистическите данни, натрупани за тази колона от ANALYZE . Нулева стойност показва, че не трябва да се събират статистически данни. Отрицателна стойност казва да се използва целта на системната статистика по подразбиране. Точното значение на положителните стойности зависи от типа данни. За скаларни типове данни, attstattarget е както целевият брой на „най-често срещаните стойности“ за събиране, така и целевият брой на кошчетата за хистограма за създаване.

Удебелен наблягам мой.

Статистиките за обикновени индексни колони са идентични със статистиките за колони и нямат отделни записи в таблиците със статистически данни. Но Postgres събира отделни статистически данни за индексни изрази . Те могат да бъдат настроени по подобен начин:

ALTER INDEX myschema.myidx ALTER COLUMN 1 SET STATISTICS 128;

При липса на действителни имена на колони, поредните номера се използват за адресиране на индексни колони, които съответстват на pg_attribute.attnum :

SELECT attstattarget
FROM   pg_attribute
WHERE  attrelid = 'myschama.myidx'::regclass
AND    attnum = 1;

Настройката действително засяга статистиките на колоните следващия път ANALYZE се изпълнява ръчно или чрез autovacuum .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Индексиране на база данни в PostgreSQL

  2. как да поставим префикс на низ преди последователност, генерирана от postgresql?

  3. Индексът на PostgreSQL не се използва за заявка за IP диапазони

  4. Django, mod_wsgi, psycopg2 Неправилно конфигуриран:Грешка при зареждане на модул psycopg2:Няма модул с име _psycopg

  5. Тенденции в PostgreSQL:Най-популярните облачни доставчици, езици, VACUUM, стратегии за управление на заявки и типове внедряване в предприятието