La adición BYPASSING BUFFER se utiliza con la sentencia SELECT para realizar lecturas directamente en base de datos saltando el buffer del servidor de aplicaciones. Esta lección trata de explicarle todos los procesos que implica el uso de esta instrucción y cómo utilizar la sentencia BYPASSING BUFFER.
- Sintaxis
SELECT result
FROM { {dbtab [AS tabalias]}
| join
| {(dbtab_syntax) [AS tabalias]} }
[BYPASSING BUFFER]… .
- Efecto
Algunas tablas de base de datos tienen habilitada en opciones técnicas el Buffering.
Con esta opción activada se devuelven en las lecturas realizadas con SELECT los resultados desde el servidor de aplicaciones sin acceder a la base de datos.
Con la adición BYPASSING BUFFER se salta el Buffer del servidor de aplicaciones y se realiza la lectura directamente en la base de datos.
- Aplicación práctica
En un programa ejecutable realizamos una lectura en la tabla estándar T005 – Países, obteniendo el registro con el código de país LAND1 = ES. Esta tabla tiene la opción del buffer activa, pero el registro lo leemos de la base de datos omitiendo el buffer. Al finalizar mostramos en la salida el valor del campo LKVRZ – denominación abreviada de las estadísticas de comercio exterior.
- Implementamos el código fuente.
- Ejecutamos el programa.
Y eso hace la selección mas rápida o mas lenta? o que ventaja o desventaja tiene?
Hola Efren,
La obtención de los registros que ya se encuentran en el buffer del sistema suelen ser más rápidas, ya que no se tiene que ir a la capa persistente (base de datos) para obtener los registros, por otro lado, activar esta funcionalidad va a consumir recursos del servidor por lo que debe valorarse a conciencia si es necesario tener registros en el buffer.
Saludos.