From: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com> |
---|---|
To: | Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | Horacio Miranda <hmiranda(at)gmail(dot)com>, Jairo Graterón <jgrateron(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: plan de ejecución |
Date: | 2025-02-07 13:28:47 |
Message-ID: | CANm+PCAJqZPXce-B2KWxzVabG5ja93RjR6nrGEVPBkqJH-AqiQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muchas gracias por todo!!
El jue, 6 feb 2025 a las 11:12, Álvaro Herrera (<alvherre(at)alvh(dot)no-ip(dot)org>)
escribió:
> Guillermo E. Villanueva escribió:
> > Muchas gracias Alvaro, tremendo crack ud.
> > Luego de ejecutar (en un ambiente de testing)
> >
> > ALTER TABLE companies ALTER id SET STATISTICS 10000;
> >
> > ALTER TABLE companies ALTER fulldate SET STATISTICS 10000;
> >
> > ANALYZE companies;
> > El explain de la query en cuestión cambió totalmente
> > Ahora si utiliza primero el índice de la clave primaria y luego recien
> > filtra por fechas
> >
> > Si me puedes remitir a algun material para leer al respecto y entender
> > porque pasaba esto y por que se solucionó te lo agradeceré!
>
> Esta charla de Divya Sharma explica lo de las estadísticas,
>
> https://www.postgresql.eu/events/pgconfde2024/schedule/session/5369-understanding-postgresql-statistics-to-optimize-performance/
> lamentablemente me parece que no hay grabación de la misma.
>
> Vuelvo a insistir que el número 10000 probablemente es mucho más alto de
> lo que realmente necesitas, y causa que el optimizador demore más de lo
> necesario. Recomendaría probar con otros valores (200, 500) hasta
> encontrar un punto intermedio razonable.
>
> > Aunque no necesité la otra solución que comentabas, si me gustaría
> > saberla,
>
> La charla de Divya Sharma explica esto también, aunque debe haber alguna
> de Tomas Vondra ... ah sí, esta:
> https://www.youtube.com/watch?v=xPorz6N8ogE
>
> No conozco recursos en castellano.
>
> > intenté algunas cosas con subqueries pero no mejoraba,
>
> Normalmente el optimizador "aplana" (flatten) las subconsultas, que
> esencialmente significa que las elimina y lo vuelve a la misma
> estructura que si no tuvieras la subconsulta, por eso no ves ninguna
> mejora. Pero si a la subconsulta le agregas OFFSET 0, entonces se
> convierte en una "barrera de optimización", evitando que haga ese
> aplanamiento, y entonces sí podrías ver que el plan cambia.
>
> --
> Álvaro Herrera Breisgau, Deutschland —
> https://www.EnterpriseDB.com/
> Syntax error: function hell() needs an argument.
> Please choose what hell you want to involve.
>
From | Date | Subject | |
---|---|---|---|
Next Message | Romero, Fernando | 2025-02-11 12:37:07 | Consulta pg_hba.conf |
Previous Message | Álvaro Herrera | 2025-02-06 14:12:41 | Re: plan de ejecución |