Size: a a a

pgsql – PostgreSQL

2020 August 21

K

Kosta in pgsql – PostgreSQL
это внешняя бд
источник

K

Kosta in pgsql – PostgreSQL
далее эти таблицы с данными были скопированы во внутренуюю бд и изменены типы:

https://gist.github.com/k0nsta/39fdffb383b1bb5fe8884c9d4aca1930
источник

K

Kosta in pgsql – PostgreSQL
Селект и запрос в локальную бд

https://gist.github.com/k0nsta/cb3222b42f72f4d8acdefe803c9976ab
источник

K

Kosta in pgsql – PostgreSQL
в качестве эксперимента я создал временную таблицу для соединения и индексы:

https://gist.github.com/k0nsta/52ef0abcd2be99c58b6ef742d20e4e90
источник

AI

Alex Ignatov in pgsql – PostgreSQL
PRIMARY KEY, btree (gvkey, datadate, indfmt, consol, fyr, popsrc, datafmt, effdate, item) богато. базка на квантовом компьютере да?
источник

K

Kosta in pgsql – PostgreSQL
Alex Ignatov
PRIMARY KEY, btree (gvkey, datadate, indfmt, consol, fyr, popsrc, datafmt, effdate, item) богато. базка на квантовом компьютере да?
да хз это стат бд внешняя, не наша.
источник

AI

Alex Ignatov in pgsql – PostgreSQL
кстати наверное всетаки лучше давать ссылки на gist , а то чот простынное такое читать в чате не очен, кмк
источник

K

Kosta in pgsql – PostgreSQL
но запросы сатанистов в IN ~ 600 gvekey (character varying(6)) она ворочит за 6 минут
источник

K

Kosta in pgsql – PostgreSQL
Alex Ignatov
кстати наверное всетаки лучше давать ссылки на gist , а то чот простынное такое читать в чате не очен, кмк
да вы правы
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Это не EXPLAIN (ANALYZE, BUFFERS, SETTINGS).
источник

K

Kosta in pgsql – PostgreSQL
нет. это начало истории )
источник

K

Kosta in pgsql – PostgreSQL
Yaroslav Schekin
Это не EXPLAIN (ANALYZE, BUFFERS, SETTINGS).
жду выхлопа
источник

K

Kosta in pgsql – PostgreSQL
Yaroslav Schekin
Это не EXPLAIN (ANALYZE, BUFFERS, SETTINGS).
источник

K

Kosta in pgsql – PostgreSQL
Да уж дохера. Sort Method: external merge  Disk: 14937712kB
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Судя по settings, у Вас PostgreSQL практически не настраивался под железо / нагрузку, нет?
Может, вообще с этого стоит начать?
источник

K

Kosta in pgsql – PostgreSQL
Yaroslav Schekin
Судя по settings, у Вас PostgreSQL практически не настраивался под железо / нагрузку, нет?
Может, вообще с этого стоит начать?
Стоит. Буду раз советам. Живет это сейчас в авс на m5.large. Такого объема данных и таких запросов и не было.
источник

K

Kosta in pgsql – PostgreSQL
да и дба у нас нет, все вкуривать нужно по ходу по факту
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kosta
Стоит. Буду раз советам. Живет это сейчас в авс на m5.large. Такого объема данных и таких запросов и не было.
Общий подход тут:  http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
Есть и auto-tuners для "грубой" настройки:  http://pgtune.leopard.in.ua/ , http://pgconfigurator.cybertec.at/
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Хмм... и план у Вас как-то криво вставился, смотрите:
 ->  Bitmap Heap Scan on csco_idesind_2008_2020 k  (cost=4751.48..435630.83 rows=182259 width=58) (actual time=429.871..22110.220 rows=95206 loops=1)
              Recheck Cond: ((datadate >= '2013-10-01 00:00:00'::timestamp without time zone) AND (datadate <= '2015-04-01 00:00:00'::timestamp without time zone))
              Filter: (gvkey = ANY <skip>)
              Rows Removed by Filter: 4694234
              Heap Blocks: exact=30692
              Buffers: local read=49047
              ->  Bitmap Index Scan on csco_idesind_2008_2020_datadate_gvkey_idx  (cost=0.00..4705.91 rows=184935 width=0) (actual time=264.946..264.947 rows=4789440 loops=1)
                    Index Cond: ((datadate >= '2013-10-01 00:00:00'::timestamp without time zone) AND (datadate <= '2015-04-01 00:00:00'::timestamp without time zone))
        Buffers: local read=49047
        ->  Bitmap Heap Scan on csco_idesind_2008_2020 k  (cost=4751.48..435630.83 rows=182259 width=58) (actual time=429.871..22110.220 rows=95206 loops=1)
              Recheck Cond: ((datadate >= '2013-10-01 00:00:00'::timestamp without time zone) AND (datadate <= '2015-04-01 00:00:00'::timestamp without time zone))
              Filter: (gvkey = ANY <skip>))
              Rows Removed by Filter: 4694234

Узел Bitmap Heap Scan явно задвоен и т.п. Как-то "промахнулись", когда план копировали?
источник

K

Kosta in pgsql – PostgreSQL
сейчас проверю
источник