在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能
2008-09-16 16:29:32 来源:WEB开发网编译 SQLJ
在本教程前面的部分中,页面 SQLJ 提到过必须通过预编译器来运行包含 SQLJ 伪指令的 Java 代码。这个预编译器将 SQLJ 伪指令转换成 Java 代码。
要完成这个转换,使用 sqlj 转换程序。例如,这个示例中的应用程序名为 SqlJDemo.sqlj,因此转换它涉及下列命令:
sqlj SqlJDemo.sqlj
这个示例展示了使用 sqlj 转换程序的最简单形式,它对如 DB2 驱动器路径这样的参数都采用缺省值。
sqlj 转换程序创建一个名为 SqlJDemo.java 的文件,该文件包含从 SQLJ 伪指令生成的 Java 代码。
转换程序还为应用程序中的每个连接上下文类创建概要文件。对于这个应用程序,该概要文件的名称为 SqlJDemo_SJProfile0.ser。如果这个应用程序有多个上下文类,那么它们的名称将是 SqlJDemo_SJProfile1.ser、SqlJDemo_SJProfile2.ser、SqlJDemo_SJProfile3.ser 等。
准备该 Java 程序的下一步是为程序中的静态 SQL 在 DB2 中创建包。本教程的下一章将讨论静态 SQL。
静态 SQL
什么是静态 SQL?
要理解静态 SQL,就必须首先理解 DB2 是如何使用静态 SQL 语句的。
SQL 是一种标准访问语言,但每种数据库都必须将这种标准语法修改为可以有效使用的调用。这种修改有三个基本步骤:
对 SQL 语法进行检查,以找出语法错误,并确保语句中的数据库对象存在并具有正确的数据类型。
对 SQL 语法进行最优化。DB2 通过这个过程来确定读或写语句中所表示的数据的最佳访问路径。对于简单数据库表,这种最优化过程的作用也许很有限,但如果对于一个需要对多个表进行操作的复杂的 SQL 语句,而这些表又带有很多索引,那么最优化过程可能必须考虑许多选项来获得最佳路径。
更多精彩
赞助商链接