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:
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.