Re: Indexes parciales

From: Jose Mercedes Venegas Acevedo <jvenegasperu(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: "Carlos T(dot) Groero Carmona" <ctonetg(at)gmail(dot)com>, Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Indexes parciales
Date: 2019-09-02 21:57:02
Message-ID: CA+KjtGfZ8NV20AMAqj0aGkT_LQWk+vXu7B1ygWGX=KcwGUEL9g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Alvaro
Buen dia

conviene un seqscan. Leer el 99,98% de los registros de la tabla usando
> un índice es absurdo, a falta de otras condiciones (ej si hubiera un
> ORDER BY con el mismo orden del índice). Seguramente es posible
> obligarlo a que haga lo que tú quieres, y seguramente será más lento que
> lo actual.
>
> En este punto lo que tienes que preguntarte es qué diablos pretendes que
> haga la aplicación con esos 306409 registros.
>

En particular no conozco el caso de uso de Carlos pero por ejemplo yo tengo
una situacion similar en la que si debo tener miles de registros
mostrandose con categorias entre 2 fechas y el escaneo siempre es
secuencial porque en efecto siempre me tiene que devolver entre un 15% y un
35% de la tabla todo esto desde QGIS donde hay momentos en los que si se
extraña que se pueda hacer mas rapido quiza activando algun parametro de
postgres para que el planificador use mas de un procesdor en paralelo algo
asi para aumentar la velocidad de respuesta.

Esto lo muestro en la imagen 1 es el caso de Uso que tengo en particular

Tambien hay otros casos en los que por un filtro si se tiene que mostrar de
un color unos pocos y la gran mayoria de otro esto se ve en la imagen 2

Adjunto las imagenes y si alguien conoce por ejemplo como decirle a
postgres que use un indice cuando el resultado es por ejemplo el 20% de la
tabla quizas eso ayude o quizas postgres calcula que devolver el 20% de la
tabla con indice es mas costoso que hacerlo secuencial y por eso siempre lo
hace asi. si alguien puede dar mas luces al respecto seria fabuloso, porque
ya con 300 mil predios en la ciudad de vez en cuando la respuesta va lenta
actualmente sucede un par de veces por semana. que al momento de renderizar
en qgis la respuesta es lenta y ya descarte que se trate de qgis porque
cuando hago lo mismo con un archivo Shape la cosa va muy rapido en cambio
con postgis por instantes se nota la demora.

Respondiendo a tu pregunta Alvaro lo que pretendo en mi caso que haga la
aplicacion es que me muestre en Verde las Casas que estan ok y en rojo las
pendientes de trabajo como se muestra en la imagen es un trabajo progresivo
todos los meses se entiende que al final deben quedar todas en verde es lo
ideal aunque siempre hay alguna pega los usos son diversos uno de ellos es
por ejemplo controlar la toma de lectura de los medidores de agua, por
ejemplo una casa se quedo en rojo porque cuando fueron a tomar la lectura
habia un vehiculo estacionado sobre la caja de registro.

lamento no poder aportar alguna solucion pero quizas quienes lean esto
puedan aportar algun alcance sobre las consultas que tambien estoy haciendo
aqui pienso que esto esta relacionado con la pregunta inicial de Carlos
solo que yo lo estoy mostrando graficamente porque las consultas son tal
cual como el las expuso al inicio.

Saludos a todos

> --
> Álvaro Herrera https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
>
>

--
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

Attachment Content-Type Size
pg-ayuda2.png image/png 967.5 KB
pg-ayuda1.png image/png 1.5 MB

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2019-09-02 23:05:35 Re: Indexes parciales
Previous Message Alvaro Herrera 2019-09-02 20:22:21 Re: Indexes parciales