Muchas gracias Anthony por tu pronta recomendación, voy a revisar lo que me 
mandas.

Lo siguiente es algún ejemplo de criterios que uso, te lo pongo en rojo

 

Select clasificador,

(select count(id) from tablax where tablax.id_estado = 1 and 
tablax.id_procedencia = clasificadores.id_procedencia and tablax.fecha between 
valor1 and valor2) as cantidad 1,

(select count(id) from tablax where criterio) as cantidad 2,

(select count(id) from tablax where criterio) as cantidad 3

>From clasificadores where criterio

 

 

Saludos,

M.Sc. Ing. Esneiker Enriquez Cabrera
      Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 266200 Ext 119, email.: eenriq...@cav.desoft.cu 
<mailto:eenriq...@cav.desoft.cu> 

 

De: Anthony Sotolongo [mailto:asotolo...@gmail.com] 
Enviado el: jueves, 28 de febrero de 2019 9:36
Para: Esneiker Enriquez Cabrera
CC: POSTGRES
Asunto: Re: Duda

 

Hola Esneiker, 

 

tal vez te pueda ayudar un poco de "azúcar sintáctica"  de las funciones de 
agregado con el filter(creo que desde 9.4 ) 
https://www.postgresql.org/docs/9.4/sql-expressions.html

 

y además puede que escribir las subconsultas en algún CTE, te permita disminuir 
los recorridos de la tablax.

 

 

Si pudieras enviar la consulta más terminada sobre todo con el "criterio" se te 
pueda orientar un poco mejor

 

 

 

Saludos

 

 

 

 

 

El jue., 28 feb. 2019 a las 10:59, Esneiker Enriquez Cabrera 
(<eenriq...@cav.desoft.cu <mailto:eenriq...@cav.desoft.cu> >) escribió:

Hola a todos,

Necesito que me den sugerencias acerca de cómo puedo cambiar el diseño de una 
consulta para mejorar el rendimiento. Necesito devolver resultados en un 
reporte donde la salida tiene la forma:

 


clasificador

Cantidad1

Cantidad2

Cantidad3

Cantidad n


Clasificador 1

1

0

0

 


Clasificador 2

1

1

0

 


Clasificador 3

1

1

0

 


Clasificador n

1

1

0

 

 

Para obtener la información uso una consulta con el siguiente diseño:

 

Select clasificador,

(select count(id) from tablax where criterio) as cantidad 1,

(select count(id) from tablax where criterio) as cantidad 2,

(select count(id) from tablax where criterio) as cantidad 3

>From clasificadores where criterio

 

La cuestión es cómo podría mejorar el diseño de la consulta para mejorar 
rendimiento porque en la tabla x hay muchos registros y la consulta se demora. 
Por supuesto en los criterios filtro las subconsultas internas con la externa 
pero no me parece que el diseño esté eficiente.

Saludos,

M.Sc. Ing. Esneiker Enriquez Cabrera
      Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila. Cuba.
Telf.: 266200 Ext 119, email.: eenriq...@cav.desoft.cu 
<mailto:eenriq...@cav.desoft.cu> 

 

Reply via email to