https://t.me/pgsql/303899
default_statistics_target сколько? Попробуй увеличить, если 100 или около того и пересобрать стату
Правильно ли понимаю, что это количество строк берущихся на анализ по столбцу?
1) Версия 13 2) select * from positions2 where preset_id in (35,64,65,34) 3)А что такое \d таблицы? 4)Seq Scan on positions2 (cost=0.00..570540.48 rows=3546024 width=81) (actual time=25.738..6605.802 rows=3523895 loops=1) " Filter: (preset_id = ANY ('{35,64,65,34}'::integer[]))" Rows Removed by Filter: 16183538 Buffers: shared hit=10731 read=264198 Planning Time: 0.700 ms JIT: Functions: 2 " Options: Inlining true, Optimization true, Expressions true, Deforming true" " Timing: Generation 2.774 ms, Inlining 0.288 ms, Optimization 14.332 ms, Emission 10.394 ms, Total 27.787 ms" Execution Time: 6859.894 ms
https://habr.com/ru/post/282011/ вот тут понятно написано
statistics_target, думаю, не поможэт никак. Поскольку статистика и так дала очень адэкватную оцэнку.
Проверит недолго, вангую, что дело именно в этом
интересно, поменяли настройки по программе https://pgtune.leopard.in.ua/, перезагрузили стало быстрее, потом сделали аналайз и также быстро, но на исходном запросе(я брал лишь оттуда узел, чтобы его разобрать) при уменьшении количества выбираемых данных читается наооборот больше страниц. Попробуем statistics_target поставить на 1000 и сделать аналайз
Обсуждают сегодня