举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > PostgreSQL 将查询处理看成是一个复杂的优化问题

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

2023-06-22 15:31

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

在所有关系操作符中,最难于处理和优化的是连接。可能的查询计划数目以查询中连接数量的指数增长。对各种各样处理独立连接的连接方法(如PostgreSQL中的嵌套循环、哈希连接、归并连接)和多种关系访问方法的indexes(如PostgreSQL中的 B 树、哈希、GiST 和 GIN)的支持也进一步加重了优化的负担。

通常的PostgreSQL查询优化器会执行一次在可选策略空间上的近似穷举搜索。这个算法最早由 IBM 的系统 R 数据库引入,它能产生接近最优的连接顺序,但是当查询中的连接数增长到很大时,该算法需要大量的时间和内存空间。这使得普通的PostgreSQL查询优化器不适合需要连接大量表的查询。

德国弗莱堡的矿业大学自动控制学院在使用PostgreSQL作为电力网格维护决策支持知识系统的后端时遇到了一些问题。DBMS 需要为知识系统中的推理机器处理大量连接查询。这些查询中的连接数不可能用普通的查询优化器来处理。

接下来我们将介绍一种遗传算法的实现,它被用来以一种更有效率的方式为涉及大量连接的查询解决连接顺序问题。

阅读全文
以上是鳄鱼CMS为你收集整理的 PostgreSQL 将查询处理看成是一个复杂的优化问题全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 创建一个数据库

    PostgreSQL 创建一个数据库

    2023-05-18

    看看你能否访问数据库服务器的第一个例子就是试着创建一个数据库。 一台运行着的PostgreSQL服务器可以管理许多数据库。 通常我们...

  •  PostgreSQL 表分区

    PostgreSQL 表分区

    2023-05-31 PostgreSQL 表分区

    5.11.1. 概述5.11.2. 声明式划分5.11.3. 使用继承实现5.11.4. 分区剪枝5.11.5. 分区和约束排除5.11.6. 声明分区最佳实践PostgreS...

  •  PostgreSQL 概述

    PostgreSQL 概述

    2023-03-31 PostgreSQL 概述

    从数据库中检索数据的过程或命令叫做查询。在 SQL 里SELECT命令用于指定查询。 SELECT命令的一般语法是[WITH with_queries] ...

  •  PostgreSQL administrable_role_​authorizations

    PostgreSQL administrable_role_​authorizations

    2023-05-16

    视图administrable_role_authorizations标识当前用户对其有管理选项的所有角色。表36.2.administrable_role_authorizations 列列...

  •  PostgreSQL pg_foreign_table

    PostgreSQL pg_foreign_table

    2023-04-03

    目录pg_foreign_table包含关于外部表的辅助信息。一个外部表和普通表一样,主要由一个pg_class项表示。它的pg_foreign_table项包...

© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们