Hola Horacio aquí está la consulta explain (analyze,buffers) select count(*), count(*) filter (where fecha_de_emision >= '2020-09-01 05:00:00' and fecha_de_emision < '2020-10-01 05:00:00') from invoices; QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------ Aggregate (cost=4404228.16..4404228.17 rows=1 width=16) (actual time=122785.413..122785.415 rows=1 loops=1) Buffers: shared hit=321622 read=2501337 dirtied=279 written=65 -> Seq Scan on invoices (cost=0.00..3613593.58 rows=79063458 width=11) (actual time=0.757..108997.146 rows=78901597 loops=1) Buffers: shared hit=321622 read=2501337 dirtied=279 written=65 Planning Time: 0.067 ms JIT: Functions: 3 Options: Inlining true, Optimization true, Expressions true, Deforming true Timing: Generation 0.404 ms, Inlining 34.157 ms, Optimization 31.163 ms, Emission 20.213 ms, Total 85.937 ms Execution Time: 122785.916 ms (10 rows) El mié., 14 oct. 2020 a las 4:16, Horacio Miranda (<hmira...@gmail.com>) escribió: > > On 8/10/2020 10:18 am, Jairo Graterón wrote: > > Sí gracias. Se pudo resolver ese tema en particular y se usó el tipo de > índice predeterminado que usa postgres. > > Aquí está el resultado de la consulta que solicitaste. > > => explain select count(*), count(*) filter (where fecha_de_emision >= > '2020-09-01 05:00:00' and fecha_de_emision < '2020-10-01 05:00:00') from > invoices; > QUERY PLAN > > > ------------------------------------------------------------------------------------------------------------------------ > Aggregate (cost=3431745.91..3431745.92 rows=1 width=16) > -> Index Only Scan using idxpdo46192ooj1ys1xxkcknhsy0 on invoices > (cost=0.57..2660899.27 rows=77084664 width=11) > JIT: > Functions: 2 > Options: Inlining true, Optimization true, Expressions true, Deforming > true > (5 rows) > > => select count(*), count(*) filter (where fecha_de_emision >= '2020-09-01 > 05:00:00' and fecha_de_emision < '2020-10-01 05:00:00') from invoices; > count | count > ----------+--------- > 77322360 | 3679203 > (1 row) > Time: 15702.502 ms (00:15.703) > > Es posible hacer esto. > > explain (analyze,buffers) > select count(*), count(*) filter (where fecha_de_emision >= '2020-09-01 > 05:00:00' and fecha_de_emision < '2020-10-01 05:00:00') from invoices; > > > > Estamos analizando las diferencias del tiempo de ejecución de algunas > consultas ya que no tienen la misma respuesta al cambiar de postgres 9.6 a > 12 > > Sospecho que no es el mismo hardware, a pesar que tiene igual > configuración de 32 GB de RAM, disco SSD de 500GB en una instancia AWS de 8 > cores. > > Llega un momento que al presentarse más de 3mil request por minuto las > consultas demoran mucho para finalizar y se degrada el rendimiento en > general. > > No hay cambios en el frontend, sólo se migró a la nueva versión del gestor > y se perdió la sensación de rapidez que tenía la versión anterior, > > El sistema ahora está un poco más estable al crear y/o eliminar índices > que mejoró notablemente. > > Seguiré revisando el porqué se degradó el performance. > > Saludos > > El mié., 7 oct. 2020 a las 2:46, Jaime Casanova (< > jaime.casan...@2ndquadrant.com>) escribió: > >> On Mon, 28 Sep 2020 at 16:16, Jairo Graterón <jgrate...@gmail.com> wrote: >> >>> Saludos lista, recientemente migramos de postgresql 9.6 a 12 >>> >>> Ahora tenemos una consulta lenta que está afectando el rendimiento en el >>> sistema >>> >>> Observo que en el explain el motor no está usando el índice del >>> campo fecha_de_emision >>> >>> >> Saludos, >> >> ¿Pudiste solucionar el problema? porque te pidieron el explain analyze >> pero no veo que hayas pasado. >> >> puedes mostrar el resultado de: >> >> select count(*), >> count(*) filter (where fecha_de_emision >= '2020-09-01 >> 05:00:00' and fecha_de_emision <= '2020-10-01 04:59:59.999999' >> from invoices; >> >> >> además de la estructura de invoices obtenida con \d en psql (por favor, >> no uses imagenes, pon esas cosas que te pedí en archivos de texto y >> adjuntalos. gracias) >> >> -- >> Jaime Casanova www.2ndQuadrant.com >> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >> >