SQLJ 使用的静态 SQL 通常可以比 JDBC 使用的动态 SQL 运行得更快。
要处理 SQL 语句,数据库服务器会执行这些步骤:
借助动态 SQL,数据库服务器在运行时对每个 SQL 语句重复这些步骤(一些服务器可高速缓存重复运行的动态 SQL 语句的前两个步骤的结果)。与这些步骤相关联的过程会影响动态 SQL 的性能。
对于静态 SQL,许多基本工作是在设计时执行的。每次工作台构建 SQLJ 文件时,SQLJ 转换程序都会执行语法和一致性检查并创建与 SQLJ 文件相对应的 Java™ 源文件。可以使用工作台中的向导来创建和运行 SQLJ 定制脚本。定制脚本会创建包含有关静态 SQL 语句的信息的包以将 Java 类绑定至数据库。然后,当运行应用程序时,基本工作已完成,这会获得更好的性能。