查询过滤器
功能介绍
在使用GaussDB(DWS)过程中经常会遇到因慢SQL导致整个集群系统性能变差甚至不可用等痛点问题,对此GaussDB(DWS)提供了查询过滤器功能,支持通过建立过滤规则提前进行语句拦截。查询过滤器可以通过SQL ID对慢SQL语句进行拦截,同时结合异常规则功能在触发异常规则次数达到设定的临界值时,自动将触发异常规则的SQL语句ID添加到查询过滤器的黑名单中进行拦截。同时提供更丰富的拦截规则,例如SQL Hash和正则匹配;以及更灵活的拦截方式,例如可以将拦截规则绑定到某一用户或某一数据库等。

该功能仅9.1.0.200及以上集群版本支持。
创建查询过滤器
- 登录GaussDB(DWS)管理控制台。
- 在集群列表中单击指定集群名称,进入“基本信息”页面。
- 左导航栏单击“资源管理 ”,切换至“查询过滤器”页签。
- 单击“创建查询过滤器”按钮添加查询过滤器。
图1 添加查询过滤器
表1 查询过滤器字段说明 字段名
是否必填
说明
数据库名称
是
下拉框选择数据库。
规则名称
是
查询过滤器的名称,支持数字大小写字母_$,有唯一性判断,支持3-63位长度。
匹配SQL类型
是
可在SQL/SQL ID/QL Hash中选择:
- SQL:查询过滤规则匹配的SQL语句。
- SQL ID:查询过滤规则匹配的unique_sql_id值。
- SQL Hash:查询过滤规则匹配的sql_hash值。
语句类型
否
分别对应SELECT/UPDATE/INSERT/DELETE/MERGE,默认为全部。
绑定用户
否
可对指定用户生效。
客户端名称
否
用于标识连接到数据库的应用程序的名称,允许客户为每个连接指定一个自定义的应用程序名称,例如gsql。
客户端IP地址
否
可对指定IP生效。
最大分区数
否
计划预估扫描节点的最大分区数。
最大表数
否
计划预估扫描的最大表数。
最大行数
否
计划预估扫描节点的最大行数。
作业类型
否
主动标识的作业类型。
资源池名称
否
过滤规则匹配的资源池名称。
最大并发数
否
过滤规则对应语句最大并发数。
告警行为
否
过滤规则告警行为。
- 确认无误后,单击“确定”。
编辑查询过滤器
- 登录GaussDB(DWS)管理控制台。
- 在集群列表中单击指定集群名称,进入“基本信息”页面。
- 左导航栏单击“资源管理 ”页签,切换至“查询过滤器”页签。
- 单击指定查询过滤器所在行操作列的“编辑”按钮编辑查询过滤器。
- 修改确认无误后,单击“确定”。
图2 编辑查询过滤器
删除查询过滤器
- 登录GaussDB(DWS)管理控制台。
- 在集群列表中单击指定集群名称,进入“基本信息”页面。
- 左导航栏单击“资源管理 ”页签,切换至“查询过滤器”页签。
- 单击指定查询过滤器所在行操作列的“删除”按钮删除查询过滤器。
- 确认无误后,单击“确定”。