针对基础设计、性能和可管理性的 DB2 最佳实践
2008-09-17 16:31:13 来源:WEB开发网要了解特定 CLI/ODBC 环境需要考虑的因素,包括使用静态 profiling 创建静态 SQL,请查阅 “IBM DB2 Database for Linux, UNIX, and Windows Information Center” 的 “Creating static SQL with CLI/ODBC/JDBC Static Profiling” 部分。
最小化 DB2 语句的 PREPARE 成本
只需在 SQL 语句中使用一次参数标记,然后就可以多次重用。更多信息请参阅 “IBM DB2 Database for Linux, UNIX, and Windows Information Center” 中的 “Parameter Markers” 部分。
对于占用资源很多的 SQL 语句,查看实际的变量值(字符)而不是参数标记也许对优化器较为有益。实现此目的一种简单方式就是在代码中使用字符,而不是使用参数标记。但是,这将导致语句缓存发生过多的插入活动,潜在影响性能和内存使用,因为仅有一个字符值不同的 SQL 语句就会被当作不同的语句。对于一个包中的静态 SQL(比如 SQL 存储过程),通过 REOPT ALWAYS 绑定或预编译选项,可以使用参数标记同时允许通过值进行优化。对于 DB2 9 和 动态 SQL,也可以通过一个全局或语句级别的优化配置来指定 REOPT ALWAYS。
尽可能有效地使用 JDBC
通过使用一些基本原则,可以更有效地使用 JDBC。首先,确保已经针对列数据类型使用恰当的 setxxx 方法将数据绑定到参数标记。这会避免数据类型转换开销过高和可能的 SQL 数据类型失配错误。其次,尽可能避免使用可滚动的结果集设置,因为服务器会实现临时表来支持这种设置。使用这种设置会影响到性能,尤其是使用大的结果集设置时。
使用 Design Advisor 建议索引
一旦开发出了一种模式并且可以使用,将 SQL 语句作为输入使用 Design Advisor 来建议索引。对于经常使用的查询以及大型或复杂的查询,这一点尤其重要。
更多精彩
赞助商链接