WEB开发网
开发学院数据库DB2 在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能 阅读

在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能

 2008-09-16 16:29:32 来源:WEB开发网   
核心提示: 缺省情况下,定制自动将所生成的包联编到数据库,在使用 SQLJ 和 JDBC 时获取最优的 DB2 性能(10),但也可以单独地使用 db2sqljbind 来做到这一点,如下所示:db2sqljbind -user myusername -password mypassword -url

缺省情况下,定制自动将所生成的包联编到数据库,但也可以单独地使用 db2sqljbind 来做到这一点,如下所示:

db2sqljbind -user myusername -password mypassword
     -url jdbc:db2://localhost:50000/sample SqlJDemo_SJProfile0.ser

您可以用 db2sqljprint 打印出 DB2 概要文件的可读纯文本版本。这个命令使用如下语法:

db2sqljprint profilename

最优化 DB2 性能

最优化性能概述

前一章讨论了静态 SQL 的使用,静态 SQL 在许多情况下能够比 JDBC 所用的动态 SQL 运行得更快。本章将讨论许多其它技术,您可以在使用 SQLJ 或 JDBC 时用它们来最优化性能。

禁用 AutoCommit

在本教程第一部分所示的示例中,您建立了到 DB2 数据库的连接。如果您使用 JDBC 建立连接,那么缺省情况下,对于数据库,AutoCommit 特性是打开的。

AutoCommit,顾名思义就是对提交到数据库的每个 SQL 语句,都进行自动提交。这种自动功能可以减少您必须进行的 SQL 编码工作量,但它同时会使 DB2 的整体响应时间变慢,因为每个语句在执行时都需要额外的开销。

AutoCommit 特性还可能会影响应用程序的整体完整性,因为您最终有可能无法回滚应用程序所进行一系列更改。

要关闭连接的 AutoCommit,使用下列代码来创建连接:

con = DriverManager.getConnection(url, userid,password);
con.setAutoCommit(false);

限制列

SQL 是一种简明而又功能强大的语言。只用几个简单的单词,譬如:

SELECT * FROM EMP_ACT

就可以从表中检索所有数据。

但仅因为可以这样做并不意味着应该这样做!因此虽然上述语句很容易编写,但对于 DB2,它采用如下形式:

上一页  5 6 7 8 9 10 

Tags:使用 SQLJ JDBC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接