GBase 8c执行计划性能调优

 原文链接:

https://www.gbase.cn/community/post/3966

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

在GBase 8c数据库中,执行计划性能调优是一个重要的环节。它涉及到对数据库查询的效率和性能进行优化。以下是一些关于GBase 8c执行计划性能调优的建议和步骤:

执行计划显示信息

  • EXPLAIN statement:只生成执行计划,不实际执行。其中statement代表SQL语句。
  • EXPLAIN ANALYZE statement:生成执行计划,进行执行,并显示执行的概要信息。显示中加入了实际的运行时间统计,包括在每个规划节点内部花掉的总时间(以毫秒计)和它实际返回的行数。
  • EXPLAIN PERFORMANCE statement:生成执行计划,进行执行,并显示执行期间的全部信息。当定位SQL运行慢问题时,如果SQL长时间运行未结束,建议通过EXPLAIN命令查看执行计划,进行初步定位。如果SQL可以运行出来,则推荐使用EXPLAIN ANALYZE或EXPLAIN PERFORMANCE查看执行计划及其实际的运行信息,以便更精准地定位问题原因。

调优流程

1)收集SQL中涉及到的所有表的统计信息。

在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见更新统计信息。

2)通过查看执行计划来查找原因。

如果SQL长时间运行未结束,通过EXPLAIN命令查看执行计划,进行初步定位。如果SQL可以运行出来,则推荐使用EXPLAIN ANALYZE或EXPLAIN PERFORMANCE查看执行计划及实际运行情况,以便更精准地定位问题原因。

3)审视和修改表定义。

4)针对EXPLAIN或EXPLAIN PERFORMANCE信息,定位SQL慢的具体原因以及改进措施,具体参见典型SQL调优点。

5)通常情况下,有些SQL语句可以通过查询重写转换成等价的,或特定场景下等价的语句。重写后的语句比原语句更简单,且可以简化某些执行步骤达到提升性能的目的。查询重写方法在各个数据库中基本是通用的。

语法格式

显示SQL语句的执行计划,支持多种选项,对选项顺序无要求。

EXPLAIN [ ( option [, ...] ) ] statement;

其中选项option子句的语法为。

ANALYZE [ boolean ] | 
ANALYSE [ boolean ] | 
VERBOSE [ boolean ] |
COSTS [ boolean ] | 
CPU [ boolean ] | 
BUFFERS [ boolean ] | 
TIMING [ boolean ] | 
PLAN [ boolean ] |
FORMAT { TEXT | XML | JSON | YAML }

显示SQL语句的执行计划,且要按顺序给出选项。

EXPLAIN { [ { ANALYZE | ANALYSE } ] [ VERBOSE ] | PERFORMANCE } statement;

参数说明

  • statement

指定要分析的SQL语句。

  • ANALYZE boolean | ANALYSE boolean

显示实际运行时间和其他统计数据。

取值范围:

TRUE(缺省值):显示实际运行时间和其他统计数据。

FALSE:不显示。

  • VERBOSE boolean

显示有关计划的额外信息。

取值范围:

TRUE(缺省值):显示额外信息。

FALSE:不显示。

  • COSTS boolean

包括每个规划节点的估计总成本,以及估计的行数和每行的宽度。

取值范围:

TRUE(缺省值):显示估计总成本和宽度。

FALSE:不显示。

  • CPU boolean

打印CPU的使用情况的信息。

取值范围:

TRUE(缺省值):显示CPU的使用情况。

FALSE:不显示。

  • BUFFERS boolean

包括缓冲区的使用情况的信息。

取值范围:

TRUE:显示缓冲区的使用情况。

FALSE(缺省值):不显示。

  • TIMING boolean

包括实际的启动时间和花费在输出节点上的时间信息。

取值范围:

TRUE(缺省值):显示启动时间和花费在输出节点上的时间信息。

FALSE:不显示。

  • PLAN

是否将执行计划存储在plan_table中。当该选项开启时,会将执行计划存储在PLAN_TABLE中,不打印到当前屏幕,因此该选项为on时,不能与其他选项同时使用。
取值范围:

ON(缺省值):将执行计划存储在plan_table中,不打印到当前屏幕。执行成功返回EXPLAIN SUCCESS。

OFF:不存储执行计划,将执行计划打印到当前屏幕。

  • FORMAT

指定输出格式。

取值范围:TEXT、XML、JSON和YAML。

默认值:TEXT。

  • PERFORMANCE

使用此选项时,即打印执行中的所有相关信息。

 原文链接:

https://www.gbase.cn/community/post/3966

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值