位置: 首页 > 新闻动态 > 公司新闻
关于GPORCA 作者:佚名    发布时间:2024-09-09

当GPORCA被启用(默认启用)时,可以判断Greenplum数据库是在使用GPORCA还是退回到传统查询优化器。

可以检查查询的EXPLAIN查询计划来判断Greenplum数据库使用哪一种查询优化器来执行该查询:

日志文件包含的消息会指示使用了哪一种查询优化器。如果Greenplum数据库退回到传统优化器,一个带有NOTICE信息的消息会被增加到日志文件来表示不支持的特性。还有,当Greenplum数据库退回到传统优化器时,在该查询的执行日志消息中,标签Planner produced plan:会出现在该查询之前。

Note: 可以通过设置Greenplum数据库的服务器配置参数client_min_messages为LOG来配置Greenplum数据库在psql命令行中显示日志消息。有关该参数的信息请见Greenplum数据库参考指南。

Parent topic: 关于GPORCA

此示例显示启用GPORCA时针对分区表运行的查询的差异。

此CREATE TABLE语句创建具有单级分区的表:

GPORCA支持下面这个针对该表的查询并且不会在日志文件中生成错误:

EXPLAIN计划输出仅列出所选分区的数量。

如果GPORCA不支持一个针对分区表的查询,Greenplum数据库会退回到传统优化器。传统优化器生成的EXPLAIN计划会列出选中的分区。下面这个例子展示了解释计划的一部分,它列出了一些选中的分区。

这个例子展示了Greenplum数据库从GPORCA退回到传统查询优化器时的日志输出。

当这个查询被运行时,Greenplum数据库会退回到传统查询优化器。

一个消息会被增加到日志文件。该消息包含下面这个NOTICE信息,它指出了GPORCA没有执行该查询的原因:

平台注册入口