| From: | Anthony Sotolongo <asotolongo(at)gmail(dot)com> | 
|---|---|
| To: | Héctor Alonso Lozada Echezuría <imatsu(at)gmail(dot)com> | 
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Re: Cual es la unidad de medida para saber si un query es lento? | 
| Date: | 2018-02-21 00:08:37 | 
| Message-ID: | fb7e17dc-f835-8601-8b7f-8372908dc2d7@gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
On 20/02/18 19:19, Héctor Alonso Lozada Echezuría wrote:
> Muchas gracias Anthony por tu aclaratoria.
>
> https://pastebin.com/21HCMGbL
>
> Allí está el pastebin del explain de todo el query.
>
> Execution time tanto para la función como para el query es 
> relativamente el mismo,
es lo normal si prácticamente solo armas la query y la  ejecutas dentro 
de la función
> y si, tengo otras funciones dentro de este query, no se si además eso 
> sea una buena práctica, tu que opinas?
llamar a funciones en una query puede ser normal, lo preguntaba pues 
puede que dentro de esas funciones pudiera esconderse  un problema de 
rendimiento y a veces no lo vemos a simple vista, en tu caso, al 
parecer, si no me equivoco,  lo que mas consume en tu query es el 
llamado a esas funciones
https://explain.depesz.com/s/WP1P
las funciones :
  user_rooms
  coworkers
consumen 7.070 ms
Saludos
>
> El 13 de febrero de 2018, 16:21, Anthony 
> Sotolongo<asotolongo(at)gmail(dot)com <mailto:asotolongo(at)gmail(dot)com>>escribió:
>
>     Hola Hector, la unidad de medida para saber si algo es lento es
>     alguna unidad de tiempo en este caso segundos , milisegundos, etc,
>     ahora para decir si es lento o no eso lo define tu negocio o tus
>     usuarios, por ejemplo puede que para un sistema o usuarios 500
>     milisegundos sea buen tiempo de respuesta pero para otros no, he
>     tenido  clientes que en su negocio mientra este por debajo de 2
>     segundos esta bien, pero para otros eso es mucho tiempo, así que
>     eso es muy peculiar de cada  uno.
>
>
>     Lo que pones de EXPLAIN es de la llamada función, seria más útil
>     que pudieras poner el EXPLAIN de la variable query que esta dentro
>     de la función, pero para comenzar revisa si te hacen falta 
>     índices en las tablas que haces filtro de dentro de ese query y si
>     están actualizadas las estadísticas de las tablas en cuestión
>
>     una pregunta esto son otras funciones  ? : user_rooms (), coworkers()
>
>
>     Saludos
>
>     Anthony Sotolongo
>
>
>     On 13/02/18 17:30, Héctor Alonso Lozada Echezuría wrote:
>>     Saludos
>>
>>     He programado una función SQL la cual debe retornar una sola fila
>>     con una serie de columnas, algunas de ellas en formato JSONB y
>>     con mucha información y no se si es lenta o no.
>>
>>     https://pastebin.com/q0PcKzus
>>
>>     Allí está el enlace del resultado del EXPLAIN.
>>
>>     Y aquí va el query.
>>
>>     https://pastebin.com/zeVZz3y6
>>
>>     --
>>     Héctor Alonso Lozada Echezuría
>
>
>
>
> --
> Héctor Alonso Lozada Echezuría
>
>
> El 13 de febrero de 2018, 16:21, Anthony Sotolongo 
> <asotolongo(at)gmail(dot)com <mailto:asotolongo(at)gmail(dot)com>> escribió:
>
>     Hola Hector, la unidad de medida para saber si algo es lento es
>     alguna unidad de tiempo en este caso  segundos , milisegundos,
>     etc, ahora para decir si es lento o no eso lo define tu negocio o
>     tus usuarios, por ejemplo puede que para un sistema o usuarios 500
>     milisegundos sea buen tiempo de respuesta pero para otros no, he
>     tenido  clientes que en su negocio mientra este por debajo de 2
>     segundos esta bien, pero para otros eso es mucho tiempo, así que
>     eso es muy peculiar de cada  uno.
>
>
>     Lo que pones de EXPLAIN es de la llamada función, seria más útil
>     que pudieras poner el EXPLAIN de la variable query que esta dentro
>     de la función, pero para comenzar revisa si te hacen falta 
>     índices en las tablas que haces filtro de dentro de ese query y si
>     están actualizadas las estadísticas de las tablas en cuestión
>
>     una pregunta esto son otras funciones  ? : user_rooms (), coworkers()
>
>
>     Saludos
>
>     Anthony Sotolongo
>
>
>     On 13/02/18 17:30, Héctor Alonso Lozada Echezuría wrote:
>>     Saludos
>>
>>     He programado una función SQL la cual debe retornar una sola fila
>>     con una serie de columnas, algunas de ellas en formato JSONB y
>>     con mucha información y no se si es lenta o no.
>>
>>     https://pastebin.com/q0PcKzus
>>
>>     Allí está el enlace del resultado del EXPLAIN.
>>
>>     Y aquí va el query.
>>
>>     https://pastebin.com/zeVZz3y6
>>
>>     -- 
>>     Héctor Alonso Lozada Echezuría
>
>
>
>
> -- 
> Héctor Alonso Lozada Echezuría
| From | Date | Subject | |
|---|---|---|---|
| Next Message | yeli | 2018-02-21 14:25:47 | Crear Una trigger usando ROW_NUMBER | 
| Previous Message | Héctor Alonso Lozada Echezuría | 2018-02-20 22:19:00 | Re: Cual es la unidad de medida para saber si un query es lento? |