ALTER SYSTEM

更新时间:
复制为 MD 格式

修改系统动态配置参数。

引擎与版本

ALTER SYSTEM语句适用于宽表引擎和时序引擎。

重要

要求Lindorm SQL2.6.3.2以上版本。如何查看Lindorm SQL的版本,请参见SQL版本说明

语法

alter_system_statement ::= ALTER SYSTEM SET configuration_identifier = configuration_literal

使用说明

参数

描述

configuration_identifier

动态配置参数名。必须是一个SQL标识符。已支持的配置项列表,请参见已支持的配置项列表

configuration_literal

动态配置参数值。必须是一个SQL常量。根据动态配置参数名不同,SQL常量取值如下:

  • BIGINT类型常量。

  • DOUBLE类型常量。

  • BOOLEAN类型常量。

  • VARCHAR类型常量。

已支持的配置项列表

配置项名称

数据类型

适用引擎

描述

FILE_FORMAT_VERSION

INTEGER

宽表引擎

设置宽表引擎中数据文件的版本。宽表引擎数据文件的默认版本是2。

说明

如果您在使用过程中遇到报错Cell Tag is not supported since ldFileVersion is too small=2,可以将文件版本号修改为5来解决此问题。

SLOW_QUERY_RECORD_ENABLE

BOOLEAN

宽表引擎

设置是否启用宽表引擎中的慢查询系统视图,当该配置启用后,查询执行时间超过一定阈值时,相关的查询信息就会被记录在视图lindorm._slow_query_中,方便运维巡检与问题排查。取值如下:

  • TRUE

  • FALSE(默认值

SLOW_QUERY_TIME_MS

INTEGER

宽表引擎

设置记录到lindorm_slow_query中的慢查询耗时阈值,单位:毫秒(ms)。默认值:10000毫秒(10秒)。

说明

当该值被修改且修改成功后,发送到Lindorm服务端的查询才有可能基于新阈值被记录到慢查询视图中。

MAX_CONN

INTEGER

宽表引擎

设置宽表引擎的最大连接数。取值必须大于0。

重要
  • 要求SQL引擎版本2.7.0.0及以上版本。

  • 单节点存在默认最大连接数限制,如果连接数已达该默认值,新建连接时会被拒绝且报错1040。建议优先重新审视业务代码中对于连接的使用方式,您也可以通过SQL语句修改宽表最大连接数

    默认的单节点连接数上限如下:

AUDIT_LEVEL

INTEGER

宽表引擎

设置宽表引擎的审计日志的级别。取值如下:

  • 0(默认值):输出DDLDCL日志。

  • 1:输出DDL、DCL、DML日志。

  • 2:输出DDL、DCL、DQL日志。

  • 3:输出DDL、DCL、DML、DQL日志。

ERROR_LANG

VARCHAR

宽表引擎

设置Lindorm SQL异常报错消息文本的语言。目前支持以下两种语言:

  • en:英文。

  • zh_CN:简体中文。

重要
  • 要求SQL引擎版本2.9.0.0及以上版本

  • SQL引擎异常消息文本的默认语言种类与实例开启时所属的区域相关。

USER_AUTH

BOOLEAN

时序引擎

设置时序引擎用户认证与鉴权功能的开关。取值如下:

  • TRUE:启用用户认证与鉴权。任何与时序引擎的连接都需要带上用户名和密码,时序引擎会对用户进行认证,并对该连接发起的SQL中的数据对象进行鉴权。

  • FALSE(默认值):关闭用户认证与鉴权。与时序引擎的连接无需带上用户名和密码。

    重要

    时序引擎一旦开启用户认证和权限校验,后续的所有访问都必须添加用户信息,否则可能出现鉴权失败(包括当前执行ALTER SYSTEM语句启用用户认证和权限校验的连接)。因此,该功能开启后,已有的部分业务访问可能会失败。所以在开启该功能前,建议仔细规划并充分评估影响。

QUERY_MAX_MEM

BIGINT

宽表引擎

Lindorm SQL 引擎中对于单个查询所允许消耗的内存上限。默认值是8388608 字节(8MB)。

重要
  • 要求SQL引擎版本 2.9.6.0 及以上版本

  • 当查询触发内存上限时,可适当调大该配置值(建议按翻倍方式逐步调整),但需注意:该参数控制每个查询的内存上限,设置过大会导致宽表引擎内存压力激增,可能引发系统稳定性风险。

lindorm.allow.range.delete

BOOLEAN

宽表引擎

是否允许批量删除。取值如下:

  • TRUE

  • FALSE(默认值

重要
  • 要求SQL引擎版本2.9.1.0及以上版本。

  • 开启批量查询,如果删除大量数据,请求可能会超时,需要通过 HINT设置超时时间。另外大量删除数据会产生大量deletemarker,会对查询性能产生一定影响。

lindorm.indexed.non.primary.key.columns.max

INTEGER

宽表引擎

允许非主键列作为索引列主键的最大数量,默认值为3。

重要
  • 要求SQL引擎版本2.9.6.0及以上版本。

  • 若索引表主键过多,可能会造成索引表 rowkey 太长,影响查询性能。

lindorm.max.index.number

INTEGER

宽表引擎

允许创建的二级索引的最大数量,默认值为5。

重要
  • 要求SQL引擎版本2.9.6.0及以上版本。

  • 若二级索引过多,可能会引起写入性能下降和磁盘使用量增多。

lindorm.schema.column.nonpklength.max

INTEGER

宽表引擎

单个非主键列允许存储的数据值上限。针对表级别配置,单位字节。默认值为2,097,152字节(2M)。

重要
  • 要求SQL引擎版本2.9.1.0及以上版本。

  • 大量的大 KV 读写容易引起 GC 抖动。

SYSTEM_TIME_ZONE

STRING

宽表引擎

用于指定整个数据库系统实例的默认时区,默认值为UTC+8。

示例

修改宽表文件版本号

将宽表引擎的数据文件版本号设置为5。

ALTER SYSTEM SET FILE_FORMAT_VERSION = 5;

设置宽表慢查询记录的阈值

打开宽表引擎中记录慢查询的视图,并设置慢查询记录的阈值。​

-- 启用慢查询记录
ALTER SYSTEM SET SLOW_QUERY_RECORD_ENABLE = TRUE; 

-- 设置慢查询阈值为1秒(即1000ms)
ALTER SYSTEM SET SLOW_QUERY_TIME_MS = 1000; 

修改宽表最大连接数

将宽表引擎的最大连接数设置为5000。

ALTER SYSTEM SET MAX_CONN = 5000;

开启或关闭时序引擎的鉴权功能

-- 开启鉴权
ALTER SYSTEM SET USER_AUTH=TRUE; 

-- 关闭鉴权
ALTER SYSTEM SET USER_AUTH=FALSE; 

修改宽表SQL异常消息文本的语言

将宽表引擎中SQL异常消息文本的语言设置为简体中文。

ALTER SYSTEM SET ERROR_LANG = 'zh_CN';

设置是否允许批量删除

修改是否允许批量删除,默认值为FALSE。

ALTER SYSTEM SET `lindorm.allow.range.delete`=TRUE;

修改非主键列作为索引列主键的数量

将非主键列作为索引列主键的数量设置为5。

ALTER SYSTEM SET `lindorm.indexed.non.primary.key.columns.max`= 5;

修改二级索引数量

将二级索引的数量设置为5。

ALTER SYSTEM SET `lindorm.max.index.number`= 5;

修改单个非主键列允许存储的数据量

将单个非主键列允许存储的数据设置为3,670,016字节(3.5M)。

ALTER TABLE tableName SET 'MAX_NONPK_LEN'='3670016';

结果验证

您可以通过SHOW SYSTEM VARIABLES LIKE configuration_identifier;语句查看是否设置成功,configuration_identifier为对应参数名。

说明

如果未使用 ALTER SYSTEM SET 命令设置过某个参数,SHOW SYSTEM VARIABLES 将不会反映出该参数的动态配置。