sum(amount) from accounting_entry group by debit[2];
QUERY PLAN
GroupAggregate (cost=621467.00..652968.19 rows=1245176 width=24) (actual time=5304.100..5830.184 rows=3423 loops=1)
А что такое "вектор"? Может, проще показать \d accounting_entry?
\d accounting_entry Table "public.accounting_entry" Column | Type | Collation | Nullable | Default ----------------+--------------------------+-----------+----------+-------------------------------------------------------------- id | integer | | not null | nextval('accounting_entry_id_seq'::regclass) guid | uuid | | | (md5(((random())::text || (clock_timestamp())::text)))::uuid date | timestamp with time zone | | | now() document | uuid | | | class | text | | | description | text | | | debit_account | uuid | | | credit_account | uuid | | | debit | uuid[] | | | credit | uuid[] | | | state | uuid[] | | | amount | double precision | | | is_deleted | boolean | | | version | smallint | | | 2 number | text | | | a_read | integer[] | | | a_extended | integer[] | | |
Так это же массив. Ну так изменение stats.target ALTER TABLE public.accounting_entry ALTER COLUMN debit SET STATISTICS 1000;, например. А потом ANALYZE accounting_entry; (или VACCUM ANALYZE).
это пробовал. до 10 тысяч (максимум) толку 0
Вы точно выполняли ANALYZE после каждого изменения? Иначе результат вполне ожидаем. ;)
картинку постить не буду, текста много - ANALYZE не помогает
Хмм... а мне помогает на такой же таблице. А какая это версия PostgreSQL?
И на 13 работает. А зачем была нужна картинка текста (и почему нельзя было \d прислать текстом и полностью), я так и не понял. ;)
Обсуждают сегодня