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 <mailto:jaime.casan...@2ndquadrant.com>>) escribió:

    On Mon, 28 Sep 2020 at 16:16, Jairo Graterón <jgrate...@gmail.com
    <mailto: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 <http://www.2ndQuadrant.com>
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to