172 похожих чатов

Добрый вечер. как можно улучшить статистику по вектору? explain analyze select

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)

10 ответов

15 просмотров

А что такое "вектор"? Может, проще показать \d accounting_entry?

Dmitry- Автор вопроса
Yaroslav Schekin
А что такое "вектор"? Может, проще показать \d acc...

\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[] | | |

Dmitry
uuid[]

Так это же массив. Ну так изменение stats.target ALTER TABLE public.accounting_entry ALTER COLUMN debit SET STATISTICS 1000;, например. А потом ANALYZE accounting_entry; (или VACCUM ANALYZE).

Dmitry- Автор вопроса
Yaroslav Schekin
Так это же массив. Ну так изменение stats.target A...

это пробовал. до 10 тысяч (максимум) толку 0

Dmitry
это пробовал. до 10 тысяч (максимум) толку 0

Вы точно выполняли ANALYZE после каждого изменения? Иначе результат вполне ожидаем. ;)

Dmitry- Автор вопроса
Yaroslav Schekin
Вы точно выполняли ANALYZE после каждого изменения...

картинку постить не буду, текста много - ANALYZE не помогает

Dmitry
картинку постить не буду, текста много - ANALYZE н...

Хмм... а мне помогает на такой же таблице. А какая это версия PostgreSQL?

Dmitry
screenshot извините за картинку

И на 13 работает. А зачем была нужна картинка текста (и почему нельзя было \d прислать текстом и полностью), я так и не понял. ;)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта