Consideraciones adicionales sobre SQL
Conceptos relacionados:
v "Agrupación de conexiones" en la página 97
v "Consideraciones sobre el rendimiento de DB2 Connect" en la página 91
Gestión de conexiones
Agrupación de conexiones
Los productos del servidor de DB2 Connect como, por ejemplo, DB2 Connect
Enterprise Edition, a menudo proporcionan conexiones a bases de datos para miles
de peticiones de clientes simultáneas. El establecimiento y el cierre de las
conexiones con el servidor de bases de datos puede resultar un proceso con un
gran consumo de recursos y tener un efecto adverso sobre el rendimiento tanto del
servidor de bases de datos como del servidor de DB2 Connect.
Este problema es especialmente evidente en entornos Web en los que cada visita a
una página Web puede requerir la creación de una nueva conexión con el servidor
de bases de datos, la realización de una consulta y la terminación de una conexión.
Para reducir esta actividad general, los productos del servidor de DB2 Connect
utilizan la agrupación de conexiones para mantener conexiones abiertas con la base
de datos en una agrupación de fácil acceso.
La mayoría de aplicaciones basadas en tecnologías Web ejecutan un gran volumen
de transacciones breves. Una transacción Web habitual se ejecute como parte de su
v Ejecute la sentencias COMMIT o ROLLBACK de SQL enlazadas
estáticamente en lugar de las sentencias COMMIT o ROLLBACK
dinámicas.
v Si no se trata de una sentencia SELECT, COMMIT o ROLLBACK, emita
EXECUTE IMMEDIATE para ejecutar la sentencia en lugar de la
secuencia PREPARE y EXECUTE.
v Las aplicaciones ODBC utilizan SQL dinámico. Puede utilizar la función
de perfilado estático de CLI/ODBC para mejorar el rendimiento. Esta
función permite capturar y convertir las llamadas ODBC en sentencias
estáticas almacenadas en un paquete de base de datos. El rendimiento
real obtenido dependerá de la complejidad de la aplicación.
La utilización del Procesador de línea de mandatos (CLP) resulta, en
general, más lenta que si el programa cuenta con SQL dinámico porque el
CLP debe analizar la entrada antes de enviar el SQL al motor de la base de
datos. El CLP también proporciona formato a los datos cuando los recibe,
lo que puede que no sea necesario para su aplicación.
Las sentencias de SQL de un lenguaje interpretado como, por ejemplo,
REXX, son considerablemente más lentas que las mismas sentencias de
SQL en un lenguaje compilado como C.
Existen dos tipos de sentencias CONNECT, denominados tipo 1 y tipo 2.
Con la conexión de tipo 2, al conectarse a una base de datos la conexión
anterior queda en estado durmiente pero no se descarta. Si más tarde se
conmuta a una conexión en estado durmiente, se evita la actividad general
de cargar las bibliotecas y configurar las estructuras de datos internas. Por
esta razón, con la utilización de la conexión de tipo 2 puede mejorarse el
rendimiento de las aplicaciones que acceden a más de una base de datos.
97
Capítulo 11. Rendimiento