Rendimiento de la aplicación con SQLJ

El SQL estático que utiliza SQLJ suele ejecutarse más rápido que el SQL dinámico que utiliza JDBC.

Para procesar una sentencia SQL, el servidor de base de datos realiza los siguientes pasos:

  1. Comprueba si la sentencia SQL tiene errores de sintaxis y genera los mensajes de error resultantes.
  2. Se asegura de que los objetos de base de datos de la sentencia existen y tienen los tipos de datos adecuados.
  3. Optimiza la sintaxis de la sentencia SQL, y determina la vía de acceso óptima para leer o escribir los datos que necesita la sentencia. En una sentencia SQL simple, la optimización puede ser sencilla; pero en una sentencia SQL compleja que maneje muchas tablas con muchos índices, el proceso de optimización puede tener muchas opciones.
  4. Ejecuta la sentencia SQL.

Con SQL dinámico, el servidor de base de datos repite estos pasos para cada sentencia SQL en tiempo de ejecución (algunos servidores pueden capturar los resultados de los dos primeros pasos para sentencias SQL dinámicas que se ejecutan de forma repetida). El proceso asociado a estos pasos afecta al rendimiento de SQL dinámico.

Con SQL estático, gran parte del trabajo preliminar se realiza en el tiempo de diseño. Cada vez que el área de trabajo crea un archivo SQLJ, el conversor de SQLJ realiza las comprobaciones de sintaxis y coherencia y crea un archivo de origen Java que corresponde al archivo SQLJ. Puede utilizar un asistente del área de trabajo para crear y ejecutar scripts de personalización SQLJ. El script de personalización crea paquetes que contienen información sobre las sentencias SQL estáticas para vincular la clases Java a la base de datos. Cuando ejecute la aplicación, el trabajo preliminar estará hecho, por lo que es posible que el rendimiento sea mejor.

Conceptos relacionados
Introducción a SQLJ
Proyectos Java habilitados para SQLJ y archivos SQLJ
SQLJ en DB2
Procesos de personalización y vinculación para DB2
Tareas relacionadas
Creación de archivos SQLJ

Comentarios