sql >> Base de Datos >  >> RDS >> Oracle

¿Diferencia entre la función de tabla y la función canalizada?

Pipelined funciones, un ejemplo muy clásico es donde haces un SELECT * FROM table name en SQL*Plus . Lo que sucede es que Oracle transmite los datos de la tabla...

Como ver un video en youtube.

Tenga en cuenta la palabra, 'Streaming '... Y en nuestra función definimos cuántas filas transmitimos... Cada transmitido fila está inmediatamente disponible para la persona que llama. Pipelining significa en términos simples, no me hagas esperar hasta que completes, dame lo que tengas y sigue procesándome y actualizándome simultáneamente.

En su último procedimiento, después de canalizar cada fila, inicia un sleep llama por 10s , por lo que el registro es Transmitido a la persona que llama cada 10 s.

Y, una función de tabla normal seguirá esperando hasta que se complete todo el trabajo de procesamiento, y luego devolverá la referencia al cursor del conjunto de resultados.

Las funciones canalizadas, afirman que ahorran memoria, es mediante flushing el contenido inmediatamente y, por lo tanto, el búfer que se utiliza siempre es mínimo, mientras que el recuento de viajes de ida y vuelta aumenta.