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 结构,并对如何替换或避免它们提出了建议。
在搜索条件中避免复杂的描述
在搜索条件中避免复杂的描述,这样的描述阻止了优化器使用编目统计信息来评估一个精确的选择。这个描述也可能会限制选择可以应用这些谓词的访问计划。在优化的查询语句的重写阶段,优化器可以重写一批描述以允许优化器评估一个精确的选择;不过它不能处理所有可能性。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接