针对基础设计、性能和可管理性的 DB2 最佳实践
2008-09-17 16:31:13 来源:WEB开发网此外,针对由完整应用程序测试填充的动态 SQL 缓存重新运行 Design Advisor。这允许根据实际工作负载和 SQL 语句的执行频率建议索引。确保在 Design Advisor 执行之前运行了 runstats。
另一个方法可能需要较多的操作,但是允许利用潜在的(“虚拟的”)索引查看访问计划。可通过以下方法实现:
发出 SQL 语句 SET CURRENT EXPLAIN MODE RECOMMEND INDEXES。
在同一个会话中执行一条 SQL 语句,这会导致用建议的(“虚拟的”)索引填充 ADVISE_INDEX 表。
执行 SQL 语句 SET CURRENT EXPLAIN MODE EVALUATE INDEXES。
执行同一条 SQL 语句。现在将用优化器根据实际和虚拟索引选择的访问计划来填充解释表。
最后,利用当前和建议的索引使用诸如 db2exfmt 的解释工具查看访问计划。
改善日志性能
编写 DB2 日志的速度是一个重要的 DB2 性能因素(依赖于数据更新的速率)。以下是一些帮助改善 DB2 记录日志性能的技巧:
禁用自动提交(autocommit),在许多应用程序环境中这是默认启动的,比如 JDBC。每次提交都会记录一个同步日志。但是如果应用程序在每条 SQL 语句执行之后都需要提交,那么请不要禁用自动提交。
如果没有必要,不要记录大数据对象(CLOB、DBCLOB 和 BLOB)。
将 BD2 日志隔离到专门的磁盘存储器上(不要与任何其他内容共享)。特别地,确保没有将日志保存在实例目录的默认位置,因为默认情况下数据库本身也位于这里。
为日志分配一个具有快速写入缓存的磁盘存储器。
将日志缓冲区大小增加到 256 个页面或更大。
使用访问计划信息帮助优化 SQL 语句
了解如何使用访问计划信息优化 SQL 语句。访问计划描述访问路径,这些路径是 DB2 优化器为 SQL 语句访问数据而选择的。可视化解释(Visual Explain)是查看访问计划的最简单方式,通过 DB2 Control Center 实现。db2expln 和 db2exfmt 命令用更简洁的方式提供了广泛的信息,在需要针对性能频繁分析 SQL 语句时,通常使用这两个命令。
更多精彩
赞助商链接