参数说明

本文介绍向量化引擎相关参数及数据类型。

配置参数

参数名

取值范围

默认值

说明

polar_csi.enable_query

on|off

off

是否启用向量化引擎/列存索引。

polar_csi.cost_threshold

1~1000000000

50000

当查询代价小于该阈值时,查询语句不会使用向量化引擎来加速。

当该参数的取值过大时,会导致耗时的 SQL 语句无法使用向量化引擎,查询较慢。

当该参数的取值过小时,会导致简单 SQL 使用向量化引擎,降低系统的并发度。

实际取值为业务经验值,请根据实际业务负载进行调整。

说明

PolarDB PostgreSQLPostgreSQL 14在内核小版本14.13.28.0及以上版本(仅针对PostgreSQL 14数据库引擎版本)调整参数默认值为50000,在此之前默认值为1000。

polar_csi.exec_parallel

1~512

2

向量化引擎的并行度,即一条SQL语句可以使用的CPU资源,一般来说并行度越大性能越好。

实际取值与集群资源规格相关,请根据集群规格来调整该参数的值,建议不超过计算节点的CPU核数。

polar_csi.memory_limit

1~1048576

1024

向量化引擎可以使用的内存大小,单位:MB。

内存阈值越大,索引创建越快。请根据集群规格来调整该参数的值,建议不超过集群内存的25%,否则可能造成OOM的风险。

polar_csi.flush_count

2048~20480000

204800

创建索引时,批次提交的行数。

增加行数能够提高创建效率,但同时也需要占用更多内存。

polar_csi.update_interval

0~3600

3

定期更新时间间隔,单位:秒。

增大更新间隔可以合并同类型的小事务,从而在事务数量较多时提高数据更新效率。

说明

PolarDB PostgreSQLPostgreSQL 14在内核小版本14.13.28.0及以上版本(仅针对PostgreSQL 14数据库引擎版本)增加如下参数,可通过调整参数提升行列转换速度,从而提升列存索引的实时性。

polar_csi.update_batch_count

1024~4294967295

100000

批量更新行数的阈值。

一个更新事务的最大行数,增加该阈值可以提升数据更新的效率。

说明

PolarDB PostgreSQLPostgreSQL 14在内核小版本14.13.28.0及以上版本(仅针对PostgreSQL 14数据库引擎版本)增加如下参数,可通过调整参数提升行列转换速度,从而提升列存索引的实时性。

polar_csi.forward_replay_wait

on|off

off

查询一致性级别,取值如下:

  • off:表示最终一致性,列存索引的数据可能会落后于行存。

  • on:表示强一致性,查询过程中会等待列存数据回放到最新数据时才会执行。当写入压力较大时,开启该参数,可能会造成等待时间过长。

数据类型

类别

数据类型

基本数据类型

BOOLEANARRAYBITUUID

字符串和二进制类型

BPCHARCHARVARCHARTEXTNAMEBYTEA

日期和时间类型

DATETIMETIMESTAMPTIMESTAMPTZINTERVAL

数值型

BIGINTDECIMALDOUBLE PRECISIONFLOAT4FLOAT8INTEGERNUMERICREALSERIALSHORTSMALLINT

复合类型

JSONJSONBENUM