Función con select se ejecutar muy lenta comparada con la ejecución de select fuera de la función

From: "José Alberto Sánchez Nieto (Trabajo)" <albertosanchez(at)hiperusera(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Función con select se ejecutar muy lenta comparada con la ejecución de select fuera de la función
Date: 2016-12-21 16:40:19
Message-ID: F447999C-FE61-48FB-94FD-DCDF0CE85BC3@hiperusera.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola, tengo un problema con una función, dentro de ella tengo varias select bastante sencillas, el problema es que si ejecuto cualquier de estas select desde fuera de la función tarda muy poco en ejecutarse, en cambio desde dentro de la función tarda muchísimo más, por ejemplo la query desde fuera de la función tarda 0.055ms y la misma dentro de la función tarda 0.239, esta función es llamada muchas veces en un proceso de loop y sospecho que los select de dentro de la función no están utilizando los indices, estos select tienen un where que en su comparativa se hace contra una variable que le paso a la función en cada iteración del loop ¿cómo puedo forzar a que los select de dentro de la función utilizan los indices?, y ¿cómo podría ver el explain plan de los select dentro de la función para asegurarme de que utilizan los indices?.
Gracias y saludos.


José Alberto Sánchez Nieto
Director Dpto. Tecnologías de la Información
Hiper Usera, S.L.
Pol. Industrial Las Avenidas · Torrejón de la Calzada C.P. 28991 (Madrid)
Tlf: 918609900 · Fax: 918160000
albertosanchez(at)hiperusera(dot)es <mailto:albertosanchez(at)hiperusera(dot)es>
No me imprimas si no es necesario. Protejamos el medio ambiente

Le informamos que su dirección de correo electrónico, asi como el resto de los datos de carácter personal aportados, serán objeto de tratamiento automatizado en nuestro ficheros, con la finalidad de gestionar la agenda de contactos de nuestra empresa y, para poder atender a sus peticiones de consulta via electronica. Vd.podrá en cualquier momento ejercer el derecho de acceso, rectificación, cancelación y oposición en los términos establecidos en la Ley Orgánica 15/1999 mediante notificación escrita con copia de DNI., a la entidad, a través de éste e-mail.

La información incluida en este e-mail es CONFIDENCIAL, siendo para su usu exlusivo del destinatario arriba mencionado. Si Usted lee este mensaje y no es el destinatario indicado, le informamos de que está totalmente prohibida la utilización, divulgación, distribución y/o reproducción de esta comunicaci´ón sin autorización expresa en virtud de la legislacion vigente. Si ha recibido este mensaje por error le rogamos nos o notifique inmediatamente por esta misma vía y proceda a su eliminación.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ernesto Lozano 2016-12-21 17:48:22 Re: [pgsql-es-ayuda] Función con select se ejecutar muy lenta comparada con la ejecución de select fuera de la función
Previous Message Lazaro Garcia 2016-12-20 14:22:04 RE: Test a PostgreSQL con Sysbench