Posted on 2009-07-11 14:44
Prayer 阅读(212)
评论(0) 编辑 收藏 引用 所属分类:
DB2
做了下面十件事情,您就几乎可以使数据库获得最佳性能。通常您会发现,通过大约 10% 的配置变化,就可以达到最佳性能的 90%。我将在下面适当的小节(在圆括号中标出)中详细讨论其中的每一条:
- 确保有足够的磁盘(每个 CPU 有 6-10 个磁盘才是一个好的开端)。每个表空间的容器应该跨越所有可用的磁盘。有些表空间,例如 SYSCATSPACE 以及那些表数量不多的表空间,不需要展开到所有磁盘上,而那些具有大型用户或临时表的表空间则应该跨越所有磁盘。( 表空间)。
- 缓冲池应该占用可用内存的大约 75% (OLTP) 或 50% (OLAP)( 缓冲池)。
- 应该对所有表执行 runstats,包括系统编目表( Runstats)。
- 使用 Design Advisor 为 SQL 工作负载推荐索引和检查索引( Design Advisor)。
- 使用 Configuration Advisor 为应用程序环境配置数据库管理器和数据库( Configuration Advisor)。
- 日志记录应该在一个独立的高速驱动器上进行,该驱动器由 NEWLOGPATH 数据库配置参数指定( Experimenting)。
- 通过频繁的提交可以增加并发性( SQL 语句调优)。
- 应该增加 SORTHEAP,以避免排序溢出( DBM 和 DB 配置)。
- 对于系统编目表空间和临时表空间,表空间类型应该为 SMS,而对于其他表空间,表空间类型应为 DMS( raw device 或者是文件)。运行 db2empfa,以便支持用于 SMS 表空间的多页(multi-page )文件的空间分配。这将允许 SMS 表空间一次增长一个区段(Extend),而不是一页,从而可以加快那些大型的插入操作和溢出磁盘的排序操作( 表空间)。
- 对于重复的语句,使用参数标记 ( SQL 语句调优)。