11
Дополнительные поля
Упорядоченность (использовать ли битовую карту?)
pg_stats.correlation
(1 — по возрастанию, 0 — хаотично, –1 — по убыванию)
Видимость (использовать ли сканирование только индекса?)
pg_class.relallvisible
Средний размер значения в байтах (оценка памяти)
pg_stats.avg_width
Информация об элементах массивов, tsvector и т. п.
pg_stats.most_common_elems
pg_stats.most_common_elem_freqs
pg_stats.elem_count_histogram
Есть еще несколько значений статистики.
В поле correlation записывается показатель упорядоченности значений
на диске. Если значения хранятся строго по возрастанию, показатель
будет близок к единице; если по убыванию — к минус единице. Чем
более хаотично расположены данные на диске, тем ближе значение
показателя к нулю. Именно это поле использует оптимизатор, когда
выбирает между сканированием битовой карты и обычным индексным
сканированием.
Поле pg_class.relallvisible хранит количество страниц таблицы, которые
содержат только актуальные версии строк (эта информация
обновляется вместе с картой видимости). Если количество
недостаточно велико, планировщик может отказаться от сканирования
только индекса в пользу сканирования по битовой карте.
В поле avg_width сохраняется средний размер значений в данном
столбце в байтах для расчета необходимого для операции объема
памяти.
В полях most_common_elems, most_common_elem_freqs и
elem_count_histogram для таких составных типов, как массивы или
tsvector, хранится распределение не самих значений, а их элементов.
Это позволяет более точно планировать запросы с участием полей не
в первой нормальной форме.