在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能
2008-09-16 16:29:32 来源:WEB开发网执行 SQL 语句。
对于动态 SQL,尽管 DB2 可以为重复的动态 SQL 高速缓存前两个步骤的结果,但还是必须对每个 SQL 语句重复上面的所有步骤。
对于静态 SQL,预编译 SQLJ 应用程序时会创建关于静态 SQL 语句的信息。然后您可以创建包(存储在 DB2 中),它是上述过程中前两个步骤的结果。当与包匹配的程序运行时,只是将 SQL 语句联编到这些结果,这样可以带来更低的开销和更佳的性能。
从 Java 代码创建包
要完成使用 Java Common Connectivity(JCC)驱动程序的 SQLJ 应用程序的准备工作,您必须对预编译过程期间生成的概要文件进行定制。定制将创建随后可以联编到数据库的包。
要为 SQLJ 应用程序创建包,对前一章(SQLJ)中描述的、作为预编译过程一部分创建的每一个服务器概要文件使用 db2sqljcustomize 命令。如果不对 SQLJ 应用程序使用这条命令,则应用程序将动态执行程序中的 SQL 语句。
db2sqljcustomize 命令的语法如下:
db2sqljcustomize -user username -password password -url url
profilename
其中,username 和 password 是在连接到数据库时使用的用户名和该用户名的密码,url 是数据库的 URL。您还可以使用 onlinecheck 开关检查大多数嵌入在应用程序中的 SQL 语句。
例如,为样本应用程序定制的概要文件使用了下列命令:
db2sqljcustomize -user myusername -password mypassword
-url jdbc:db2://localhost:50000/sample -onlinecheck YES SqlJDemo_SJProfile0.ser
profilename 是作为 SQLJ 编译过程一部分而生成的概要文件的名称。请记住,应用程序中所使用的每个连接上下文都有一个概要文件。
更多精彩
赞助商链接