获得DB2企业应用程序的最佳性能
2007-05-20 16:15:40 来源:WEB开发网核心提示: 这个特点与非 DBMS 系统非常不同,在那种系统中,获得DB2企业应用程序的最佳性能(4),程序员必须知道数据的物理结构,如果有索引,优化器在优化任何事物时都会遇到困难,这些统计信息向优化器提供了与正在被优化的 SQL 语句将要访问的表状态相关的信息,程序员就必须编写适当的代码来使用该索引
这个特点与非 DBMS 系统非常不同,在那种系统中,程序员必须知道数据的物理结构。如果有索引,程序员就必须编写适当的代码来使用该索引。如果某人删除了索引,程序就不能工作,除非程序员进行更改。而使用 DB2 和 SQL 就不必如此。这一灵活性完全归功于 DB2 自动优化数据操作请求的能力。
优化器根据许多信息执行复杂的计算。要使优化器的工作方式直观化,可以将优化器想象成执行一个四步骤的过程:
接收并验证 SQL 语句的语法。
分析环境并优化满足 SQL 语句的方法。
创建计算机可读指令来执行优化的 SQL。
执行指令或存储它们以便将来执行。
这个过程的第二步是最有趣的。优化器怎样决定如何以它的方式执行您可以发送的大量 SQL 语句?
优化器有许多类型的优化 SQL 的策略。它如何选择在优化存取路径中使用这些策略中的哪一个?IBM 并没有发布优化器如何确定最佳存取路径的真正和深入的详细信息,但优化器是一个 基于成本的优化器。这意味着优化器将始终尝试为每个查询制定减少总体成本的存取路径。要实现这个目标,DB2 优化器会应用查询成本公式,该公式对每条可能的存取路径的四个因素进行评估和权衡:CPU 成本、I/O 成本、DB2 系统目录中的统计信息和实际的 SQL 语句。
性能准则
因此,只要记住关于 DB2 优化器的信息,您就可以实现这些准则以便获得更好的 SQL 性能:
1) 使 DB2 统计信息保持最新 :如果没有存储在 DB2 系统目录中的统计信息,优化器在优化任何事物时都会遇到困难。这些统计信息向优化器提供了与正在被优化的 SQL 语句将要访问的表状态相关的信息。存储在系统目录中的统计信息的类型包括:
关于 表的信息,包括总的行数、关于压缩的信息和总页数;
更多精彩
赞助商链接