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<asotolo...@gmail.com <mailto:asotolo...@gmail.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
<asotolo...@gmail.com <mailto:asotolo...@gmail.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