WEB开发网
开发学院数据库DB2 DB2 最佳实践: 编写并调优查询语句以优化性能最佳... 阅读

DB2 最佳实践: 编写并调优查询语句以优化性能最佳实践

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: 在查询运行的过程中,DB2 优化器会为每个 SQL 语句选择一个查询计划,DB2 最佳实践: 编写并调优查询语句以优化性能最佳实践(2),优化器模拟不同的访问计划的运行成本,并选择其中一个成本最低的访问计划,这个描述也可能会限制选择可以应用这些谓词的访问计划,在优化的查询语句的重写阶段,如果一个

在查询运行的过程中,DB2 优化器会为每个 SQL 语句选择一个查询计划。优化器模拟不同的访问计划的运行成本,并选择其中一个成本最低的访问计划。如果一个查询包括很多复杂的搜索条件,DB2 优化器在某些情况下可以重写谓词,不过在某些一些情况下却不能。

对于一些比较复杂的查询,一个 SQL 语句的准备或编译的时间可能会比较长,尤其是 BI 应用程序中使用的 SQL 语句。你可以通过调整设计和你的数据库配置来帮助缩短语句编辑时间。这包括选择正确的优化级别并正确设置其他注册变量。

优化器也需要精确输入以获得精确的查询计划。这意味着你需要收集精确的统计信息,并潜在的使用高级统计功能,比如统计视图和列组统计信息。

你也可以使用 DB2 工具(尤其是 DB2 explain 工具)来调优查询。 DB2 编译器可以抓取动态或静态语句关于访问计划和环境的信息。利用抓取的信息来理解单个语句的运行,所以你可以调整它们以及你的数据库管理器配置来提高性能。

编写 SQL 语句

SQL 是很强大的语言,它允许你指定语法不同而语义相同的关系型描述。不过,一些语义相同的变化比起其他的更容易优化。虽然 DB2 优化器有很强的查询重写能力,但也并不总是可以把一个 SQL 语句重写成最优的形式。某些 SQL 结构也可能会限制优化器对访问计划考虑。下面的章节描述了需要避免的某些 SQL 结构,并对如何替换或避免它们提出了建议。

在搜索条件中避免复杂的描述

在搜索条件中避免复杂的描述,这样的描述阻止了优化器使用编目统计信息来评估一个精确的选择。这个描述也可能会限制选择可以应用这些谓词的访问计划。在优化的查询语句的重写阶段,优化器可以重写一批描述以允许优化器评估一个精确的选择;不过它不能处理所有可能性。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 最佳 实践

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