openGauss/MogDB 5.0.0版本SQL PATCH使用

原作者:何放

适用范围

SQL PATCH主要设计给DBA、运维人员及其他需要对SQL进行调优的角色使用,用户通过其他运维视图或定位手段识别到业务语句存在计划不优导致的性能问题时,可以通过创建SQL PATCH对业务语句进行基于Hint的调优。目前支持行数、扫描方式、连接方式、连接顺序、PBE custom/generic计划选择、语句级参数设置、参数化路径的Hint。此外,对于部分由特定语句触发系统内部问题导致系统可服务性受损的语句,在不对业务语句变更的情况下,也可以通过创建用于单点规避的SQL PATCH,对问题场景提前报错处理,避免更大的损失。

概述

上一篇文章主要是介绍SQL PATCH的特性及使用方法《openGauss/MogDB 5.0.0支持SQL PATCH》。现在这篇讲到了SQL PATCH的使用情况。

问题1

有一张t表,100W行数据,跑同样的查询时,会遇到有时索引扫描有时全表扫描的情况。

openGauss=# \d t Table "public.t" Column | Type | Modifiers --------+--------------------------------+----------- c1 | integer | c2 | character varying(50) | c3 | timestamp(0) without time zone | Indexes: "t_c1_idx" btree (c1) TABLESPACE pg_default