历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.
第 8 章 遗传查询优化
目录
作者
由 Martin Utesch <utesch@aut.tu-freiberg.de> 为德国弗赖贝格矿业和技术大学自动控制研究所编写。
8.1. 将查询处理看成是一个复杂的优化问题 #
在所有关系操作符中,最难处理和优化的是连接。随着查询中连接数目的增加,可能的查询计划数量会呈指数增长。为了处理单个连接而支持多种连接方法(例如 PostgreSQL 中的嵌套循环、哈希连接和归并连接)来处理单个连接,以及作为关系访问路径的多种索引(例如 PostgreSQL 中的 R-树、B-树和哈希),也进一步增加了优化工作量。
当前的PostgreSQL查询优化器实现会在可选策略空间中执行近似穷举搜索。这种查询优化技术不足以支持诸如人工智能这类需要大量查询的数据库应用领域。
德国弗赖贝格矿业和技术大学自动控制研究所在尝试将 PostgreSQL 用作一个用于电网维护的基于知识的决策支持系统后端时遇到了一些问题。该 DBMS 需要为该基于知识系统的推理机处理大型连接查询。
在探索可能查询计划空间方面的性能困难,催生了开发一种新优化技术。
下文我们提出把遗传算法的实现作为数据库查询优化问题的一种可选方案。