↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本PostgreSQL 7.2 已于 2007 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

第 8 章 遗传查询优化

Martin Utesch

University of Mining and Technology
Institute of Automatic Control

             Freiberg
      

             Germany
      

     

作者

由 Martin Utesch 为德国弗赖贝格矿业和技术大学自动控制研究所编写。

8.1. 将查询处理看成是一个复杂的优化问题 #

在所有关系操作符中,最难处理和优化的是连接。随着查询中连接数目的增加,可能的查询计划数量会呈指数增长。为了处理单个连接而支持多种连接方法(例如 PostgreSQL 中的嵌套循环、哈希连接和归并连接)来处理单个连接,以及作为关系访问路径的多种索引(例如 PostgreSQL 中的 R-树、B-树和哈希),也进一步增加了优化工作量。

当前的PostgreSQL查询优化器实现会在可选策略空间中执行近似穷举搜索。这种查询优化技术不足以支持诸如人工智能这类需要大量查询的数据库应用领域。

德国弗赖贝格矿业和技术大学自动控制研究所在尝试将 PostgreSQL 用作一个用于电网维护的基于知识的决策支持系统后端时遇到了一些问题。该 DBMS 需要为该基于知识系统的推理机处理大型连接查询。

在探索可能查询计划空间方面的性能困难,催生了开发一种新优化技术。

下文我们提出把遗传算法的实现作为数据库查询优化问题的一种可选方案。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。