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

Reply via email to