案例:调整查询重写GUC参数rewrite_rule rewrite_rule包含了多个查询重写规则:magicset、partialpush、uniquecheck、disablerep、intargetlist、predpush等。下面简要说明一下其中重要的几个规则的使用场景:
示例:逻辑复制代码示例 下面示例演示如何通过JDBC接口使用逻辑复制功能的过程。执行示例前,需要加载驱动,驱动的获取和加载方法请参考JDBC包、驱动类和环境类。 针对逻辑复制的配置选项,除了在逻辑解码章节中的配置选项外,还有专门给JDBC等流式解码工具增加的配置项,如下所示。 解码线程并行度
逻辑解码选项 逻辑解码选项可以用来为本次逻辑解码提供限制或额外功能,如“解码结果是否包含事务号”、“解码时是否忽略空事务”等等。对于具体配置方法,SQL函数解码请参考《开发指南》中“SQL参考 > 函数和操作符 > 系统管理函数 > 逻辑复制函数”章节中函数pg_logical_slot_peek_changes
pg_sleep(seconds) 描述:服务器线程延迟时间,单位为秒。
pg_sleep(seconds) 描述:服务器线程延迟时间,单位为秒。注意,当数据库调用该函数时,会获取相应的事务快照,相当于一个长事务,如果入参时间过长可能导致数据库oldestxmin无法推进,影响表的回收和查询性能。
因为如果是char,在数据库服务端插入数据时需要进行数据类型转换,从而引发性能瓶颈。 负载均衡场景 当应用程序有大并发场景时可开启负载均衡: 负载均衡即为将并发连接随机分发到所有CN上,避免单个CN负载过大,达到高性能的目的。
逻辑复制 下面示例演示如何通过JDBC接口使用逻辑复制功能的过程。 针对逻辑复制的配置选项,除了在逻辑解码中的配置选项外,还有专门给JDBC等流式解码工具增加的配置项,如下所示: 解码线程并行度 通过配置选项parallel-decode-num,指定并行解码的Decoder线程数量
逻辑解码选项 逻辑解码选项可以用来为本次逻辑解码提供限制或额外功能,如“解码结果是否包含事务号”、“解码时是否忽略空事务”等等。对于具体配置方法,SQL函数解码请参考《开发指南》中“SQL参考 > 函数和操作符 > 系统管理函数 > 逻辑复制函数”章节中函数pg_logical_slot_peek_changes
其他优化器选项 enable_fast_query_shipping 参数说明:控制查询优化器是否使用分布式框架。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示执行计划在CN和DN上各自生成。 off表示使用分布式框架,即执行计划在
逻辑复制 下面示例演示如何通过JDBC接口使用逻辑复制功能的过程。 针对逻辑复制的配置选项,除了参考《特性指南》的“逻辑复制 > 逻辑解码”章节中的配置选项外,还有专门给JDBC等流式解码工具增加的配置项,如下所示: 解码线程并行度 通过配置选项parallel-decode-num
逻辑复制 下面示例演示如何通过JDBC接口使用逻辑复制功能的过程。 配置选项 针对逻辑复制的配置选项,除了参考《特性指南》的“逻辑复制 > 逻辑解码”章节中的配置选项外,还有专门给JDBC等流式解码工具增加的配置项,如下所示: 解码线程并行度 通过配置选项parallel-decode-num
逻辑复制 本节示例演示如何通过JDBC接口使用逻辑复制功能。针对逻辑复制的配置选项,除了参考《特性指南》的“逻辑复制 > 逻辑解码”章节中的配置选项外,还有专门给JDBC等流式解码工具增加的配置项,如下所示: 解码线程并行度 通过配置选项parallel-decode-num,指定并行解码的
类型转换函数 类型转换函数 cash_words(money) 描述:类型转换函数,将money转换成text。 示例: 1 2 3 4 5 gaussdb=# SELECT cash_words('1.23'); cash_words ----------
窗口函数 窗口函数与OVER语句一起使用。OVER语句用于对数据进行分组,并对组内元素进行排序。窗口函数用于给组内的值生成序号。 窗口函数中的order by后面必须跟字段名,若order by后面跟数字,该数字会被按照常量处理,因此对目标列没有起到排序的作用。 当父查询中包含子查询中的窗口函数的过滤条件时
窗口函数 窗口函数与OVER语句一起使用。OVER语句用于对数据进行分组,并对组内元素进行排序。窗口函数用于给组内的值生成序号。 窗口函数中的order by后面必须跟字段名,若order by后面跟数字,该数字会被按照常量处理,因此对目标列没有起到排序的作用。 当父查询中包含子查询中的窗口函数的过滤条件时
XML类型函数 以下所有XML类型函数中,当GUC参数xmloption为content时,XML声明中encoding值可以取为ZHS16GBK;当GUC参数xmloption为document时,XML声明中encoding值不可以取为ZHS16GBK,若设置encoding
XML类型函数 以下函数兼容Postgres 9.2。 以下所有xml类型函数中,当GUC参数xmloption为content时,xml声明中encoding值可以取为ZHS16GBK;当GUC参数xmloption为document时,xml声明中encoding值不可以取为ZHS16GBK
SELECT 功能描述 SELECT用于从表或视图中取出数据。 SELECT语句就像叠加在数据库表上的过滤器,利用SQL关键字从数据表中过滤出用户需要的数据。 注意事项 表的所有者、拥有表SELECT权限的用户或拥有SELECT ANY TABLE权限的用户,有权读取表或视图中数据
类型转换函数 cash_words(money) 描述:类型转换函数,将money转换为text。 示例: 1 2 3 4 5 gaussdb=# SELECT cash_words('1.23'); cash_words -----------------
聚集函数 sum(expression) 描述:所有输入行的expression总和。 返回类型: 通常情况下输入数据类型和输出数据类型是相同的,但以下情况会发生类型转换: 对于SMALLINT或INT输入,输出类型为BIGINT。 对于BIGINT输入,输出类型为NUMBER 。