vertica 最佳实践之 Reading Query Plans

Reading Query Plans

这是有关性能调优的三部分系列文章中的第一篇,其中包含以下文章:

第1部分:阅读查询计划

第2部分: 使用系统表对Vertica查询性能进行故障排除

第3部分:重新设计投影以进行查询优化

Query Plans

查询计划是Vertica查询优化器为在Vertica数据库中执行语句而选择的一系列阶梯状的路径。Vertica可以以多种不同的方式执行查询以达到相同的结果。查询优化器创建一个计划,以最低的执行成本执行查询。Vertica用户对查询运行EXPLAIN,以分析数据库如何处理查询并查看Vertica用于执行查询的路径的直观表示。

The EXPLAIN Statement

EXPLAIN语句返回指定sql的执行步骤,该步骤会被优化器进行优化。您可以使用此信息来分析和研究查询。默认情况下,EXPLAIN 将查询计划表示为层次结构。每个级别表示优化器为执行查询而定义的单个数据库操作。解释输出还将. dot语言附加到源文件中,使您能够以图形方式显示此输出。

考虑以下带有EXPLAIN语句的查询。

EXPLAIN SELECT DISTINCT s.product_key,p.product_description 
 FROM store.store_sales_fact S,public.product_dimension p 
 WHERE s.product_key = p.product_key 
 AND s.product_version = p.product_version 
 AND s.store_key INSELECT store_key 
 FROM store.store_dimension 
 WHERE store_state ='MA'ORDER BY s.product_key; 

下一节将提供有关EXPLAIN语句和输出选项的详细信息。

EXPLAIN Output Options

EXPLAIN语句具有以下类型的输出:

EXPLAIN option:EXPLAIN 返回有关查询执行计划的详细信息,而不执行查询。您可以将输出查看为文本输出还是图形输出。
EXPLAIN LOCAL VERBOSE option:EXPLAIN LOCAL VERBOSE 返回用于分析复杂查询的详细信息。详细信息包括成本和每个资源的内存使用情况。您可以将输出查看为文本输出还是图形输出。

EXPLAIN Results

EXPLAIN option 返回有关查询执行计划的详细信息,而不执行查询。查询优化器考虑不同的查询sql,投影组合和JOIN顺序,从而导致不同的执行计划。

然后,为了选择最佳查询计划,优化器将执行统计分析。它为每个操作分配成本,并选择成本最低的计划作为执行计划。Vertica使用两种不同的EXPLAIN option 返回所选的查询计划:

Textual output:查询计划的纯文本表示。查询计划详细列出了步骤,Vertica从下到上执行查询计划。
Graphical output:查询计划使用.DOT语言。
您可以使用管理控制台查看树路径。
您可以使用Graphviz等Web可视化工具来查看图形表示。
与纯文本计划相比,此表示提供了更多细节,并为复杂查询提供了更好的可读性和表示形式。

Textual Output for EXPLAIN

本文档前面显示的示例查询的访问路径信息描述了该查询的运算符,成本,投影,用到的列名和路径ID。

在这里插入图片描述<

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值