查询优化
查询优化是其中一项将会影响应用程序性能的因素。请查看本节的内容,以了解有关可以帮助您最大程度地提高数据库应用程序性能的查询优化注意事项的详细信息。
- SQL 和 XQuery 编译器过程
SQL 和 XQuery 编译器执行多个步骤来生成可以执行的存取方案。 - 数据访问方法
查询优化器在编译 SQL 或 XQuery 语句时,它将估算满足查询的不同方法的执行成本。 - 查询的谓词处理
谓词是表示或暗示比较运算的搜索条件的元素。可将谓词分组为四种类别,这些类别按如何在求值过程中使用谓词以及何时使用来确定。 - 公共 SQL 语句的查询性能
为了加快许多查询的速度,已经做了大量性能改进。这些改进是自动的。不需要进行配置设置或更改 SQL 语句。 - 连接
连接是指根据信息的某些公共领域对来自两个或更多个表的数据进行组合的过程。如果连接条件(连接谓词)确定对应的行中的信息匹配,那么一个表中的行就会与另一个表中的行配对。 - 排序和分组对查询优化的影响
当优化器选择存取方案时,它将考虑数据排序操作对性能的影响。如果没有任何索引按请求的顺序对访存的行进行排序,那么将执行排序。如果优化器确定排序成本低于索引扫描成本,那么也会执行排序。 - 优化策略
优化策略依赖于 DB2® 环境的配置。在设计性能改进事项时,您需要注意此配置。 - 用户维护的具体化查询表
用户维护的具体化查询表 (MQT) 能够显著缩短复杂分析查询的响应时间,因为这些表的数据包含您在具体化查询表定义中所指定表的预先计算的结果。 - 说明工具
DB2 说明工具提供有关优化器为 SQL 或 XQuery 语句选择的存取方案的详细信息。 - 存取方案方案优化
可以优化存取方案来尝试提高查询性能。性能提高的程度取决于所选优化的类型。优化存取方案是其中一种最佳方式,可以确保查询编译器的行为符合预期及其设计用途。 - 统计视图
基于成本的 DB2 优化器使用存取方案运算符所处理的估算行数来准确地估算该运算符的成本。此基数估算是优化器的成本模型的唯一最重要输入,其准确性在很大程度上取决于 RUNSTATS 命令从数据库收集的统计信息。 - 目录统计信息
当查询编译器优化查询方案时,它所作的决策主要受有关数据库表大小、索引大小和统计视图大小的统计信息的影响。此信息存储在系统目录表中。 - 最大程度地减轻 RUNSTATS 的影响
有一些方法可用来改进 RUNSTATS 性能。
相关概念: