华为云用户手册

  • require_ssl 参数说明:设置服务器端是否强制要求SSL连接,该参数只有当参数ssl为on时才有效。请在使用这个选项之前阅读通过gsql连接实例章节。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示服务器端强制要求SSL连接。 off表示服务器端对是否通过SSL连接不作强制要求。 GaussDB 目前支持SSL的场景为客户端连接数据库主节点场景,该参数目前建议只在数据库主节点中开启。 默认值:off
  • ssl 参数说明:服务端开启SSL连接。请在使用这个选项之前阅读通过gsql连接实例章节。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示服务端开启SSL连接,实际通信过程中是否为SSL加密传输由客户端配置决定。 off表示服务端关闭SSL连接。 开启此参数需要同时配置ssl_cert_file、ssl_key_file和ssl_ca_file等参数及对应文件,如果使用国密认证,还需要确保ssl_enc_cert_file和ssl_enc_key_file参数配置正确,不正确的配置可能会导致数据库无法正常启动。 默认值:on
  • default_week_format 参数说明:用于week()函数的默认mode值,取值范围与表现如下表所示。 default_week_format 一周的第一天 范围 第1周定义 0 周日 0~53 今年第一个有周日的周。 1 周一 0~53 今年第一个有4天及以上的周。 2 周日 1~53 今年第一个有周日的周。 3 周一 1~53 今年第一个有4天及以上的周。 4 周日 0~53 今年第一个有4天及以上的周。 5 周一 0~53 今年第一个有周一的周。 6 周日 1~53 今年第一个有4天及以上的周。 7 周一 1~53 今年第一个有周一的周。 一年的第1周,其中的1代表序号值。根据week_format不同,如第三列所示,一年的第一个周序号可能为0。 参数类型:整型 参数单位:无 取值范围:[0, 7] 默认值:0 设置方式:该参数属于USERSET类型参数,请参考GUC参数设置中对应设置方法进行设置。 设置建议:根据业务需要,选择合适的mode。
  • lc_numeric 参数说明:设置数值的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_messages 参数说明:设置信息显示的语言。 可接受的值是与系统相关的。 在一些系统上,这个区域范畴并不存在,不过仍然允许设置这个变量,只是不会有任何效果。同样,也有可能是所期望的语言的翻译信息不存在。在这种情况下,用户仍然能看到英文信息。 该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_monetary 参数说明:设置货币值的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • lc_time_names 参数说明:控制用于显示日期和月份名称及缩写的语言。影响DATE_FORMAT()、DAYNAME()以及MONTHNAME()函数输出结果。不影响STR_TO_DATE()和GET_FORMAT()的表现。 参数类型:字符串 参数单位:无 取值范围:参数应当为简易格式的IETF语言标记,例如en_US、zh_CN等。 默认值:en_US 设置方式:该参数属于USERSET类型参数,请参考GUC参数设置中对应设置方法进行设置。 设置建议:根据业务需要,切换合适的语言。
  • lc_time 参数说明:设置时间和区域的显示格式,影响to_char之类的函数的输出。可接受的值是系统相关的。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:字符串 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 默认值:C
  • client_encoding 参数说明:设置客户端的字符编码类型。 请根据前端业务的情况确定。尽量客户端编码和服务器端编码一致,提高效率。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:兼容PostgreSQL所有的字符编码类型。其中UTF8表示使用数据库的字符编码类型。 使用命令locale -a查看当前系统支持的区域和相应的编码格式,并可以选择进行设置;不同操作系统之间,或者相同操作系统的不同版本之间,排序规则可能存在差异和变化。当应用业务在上述这些操作系统之间进行逻辑迁移时,操作系统排序规则的差异和变化可能会导致索引、分区、排序算子等数据库功能行为的差异,如相同的范围查询语句返回的数据结果集不同、相同的排序查询语句返回的查询结果不同等。应用业务需要根据操作系统发布的locale差异,在业务上排查业务数据是否涉及相关的字符。 默认情况下,gs_initdb会根据当前的系统环境初始化此参数,通过locale命令可以查看当前的配置环境。 参数建议保持默认值,不建议通过gs_guc工具或其他方式直接在gaussdb.conf文件中设置client_encoding参数,即使设置也不会生效,以保证数据库内部通信编码格式一致。 client_encoding 支持设置为GB18030_2022字符编码,当client_encoding=gb18030_2022时,需要保证客户端操作系统支持的GB18030字符集已升级到2022版本。 当数据库字符集编码为UTF8,且当前系统支持的区域下相应的编码格式为GB18030时,若客户端操作系统支持的GB18030字符集已升级到2022版本,且数据库中存在客户端GB18030字符集升级前存入的历史数据,则存在以下情况: set client_encoding = gb18030时,UTF8数据库中的历史数据返回给客户端的字符编码与客户端字符集升级前保持一致,但字符集升级过程中发生映射关系改变的38个字符的字形显示与2022版本保持一致。 set client_encoding = gb18030_2022时,UTF8数据库中的历史数据返回给客户端的字符编码与客户端字符集升级后保持一致,字形与升级前保持一致。这是因为GB18030字符集自身的各版本间存在不完全兼容,可能导致数据的不一致性。因此,若客户端涉及GB18030字符集升级且存在历史数据的场景,在升级前应进行历史数据的升级转换。 client_encoding支持设置为ZHS16GBK字符编码,下表展示了ZHS16GBK、GB18030、GB18030_2022字符集所有转换关系对应的server_encoding与client_encoding设置方式: server_encoding client_encoding locale 设置方法 zhs16gbk utf8 utf8 数据库自动获取locale取值。 utf8 zhs16gbk gbk gsql通过用户手动执行:set client_encoding = zhs16gbk。 jdbc连接时通过url参数直接指定:characterEncoding=zhs16gbk zhs16gbk zhs16gbk gbk gsql连接时数据库自动获取locale取值,内部进行处理后自动设置client_encoding = zhs16gbk。 jdbc连接时通过url参数直接指定:characterEncoding=zhs16gbk。 zhs16gbk gb18030 gb18030 gsql连接时数据库自动获取locale取值。 jdbc连接时通过url参数直接指定:characterEncoding=gb18030。 gb18030 zhs16gbk gbk gsql不支持该设置。 jdbc连接时通过url参数直接指定characterEncoding=zhs16gbk。 zhs16gbk gb18030-2022 gb18030 gsql连接时,用户手动执行:set client_encoding = gb18030_2022。 jdbc连接时通过url参数直接指定:characterEncoding=gb18030_2022。 gb18030-2022 zhs16gbk gbk gsql不支持该设置。 jdbc连接时通过url参数直接指定characterEncoding=zhs16gbk。 gb18030 utf8 utf8 数据库自动获取locale取值。 utf8 gb18030 gb18030 数据库自动获取locale取值。 jdbc连接时通过url参数直接指定:characterEncoding=gb18030。 gb18030_2022 utf8 utf8 数据库自动获取locale取值。 utf8 gb18030_2022 gb18030 gsql连接时,用户手动执行:set client_encoding = gb18030_2022。 jdbc连接时通过url参数直接指定:characterEncoding=gb18030_2022。 gb18030 gb18030 gb18030 数据库自动获取locale取值。 jdbc连接时通过url参数直接指定:characterEncoding=gb18030。 gb18030_2022 gb18030_2022 gb18030 gsql连接时数据库自动获取locale取值,内部进行处理后自动设置client_encoding = gb18030_2022。 jdbc连接时通过url参数直接指定:characterEncoding=gb18030_2022。 默认值:UTF8 推荐值:SQL_ASCII/UTF8
  • FORALL批量查询语句 语法图 图5 forall::= label declaration ::= 变量index会自动定义为integer类型并且只在此循环里存在。index的取值介于low_bound和upper_bound之间。 如果声明了SAVE EXCEPTIONS,则会将循环体DML执行过程中每次遇到的异常保存在SQL&BULK_EXCEPTIONS中,并在执行结束后统一抛出一个异常,循环过程中没有异常的执行的结果在当前子事务内不会回滚。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 gaussdb=# CREATE TABLE hdfs_t1 ( title NUMBER(6), did VARCHAR2(20), data_period VARCHAR2(25), kind VARCHAR2(25), interval VARCHAR2(20), time DATE, isModified VARCHAR2(10) ); CREATE TABLE gaussdb=# INSERT INTO hdfs_t1 VALUES( 8, 'Donald', 'OConnell', 'DOCONNEL', '650.507.9833', to_date('21-06-1999', 'dd-mm-yyyy'), 'SH_CLERK' ); INSERT 0 1 gaussdb=# CREATE OR REPLACE PROCEDURE proc_forall() AS BEGIN FORALL i IN 100..120 update hdfs_t1 set title = title + 100*i; END; / CREATE PROCEDURE --调用存储过程 gaussdb=# CALL proc_forall(); proc_forall ------------- (1 row) --查询存储过程调用结果 gaussdb=# SELECT * FROM hdfs_t1; title | did | data_period | kind | interval | time | ismodified --------+--------+-------------+----------+--------------+---------------------+------------ 231008 | Donald | OConnell | DOCONNEL | 650.507.9833 | 1999-06-21 00:00:00 | SH_CLERK (1 row) --删除存储过程和表 gaussdb=# DROP PROCEDURE proc_forall; DROP PROCEDURE gaussdb=# DROP TABLE hdfs_t1; DROP TABLE
  • 示例 --创建模式ot。 gaussdb=# CREATE SCHEMA ot; --创建表ot.test_tbl1。 gaussdb=# CREATE TABLE ot.test_tbl1(c1 INT, c2 INT); gaussdb=# INSERT INTO ot.test_tbl1 values(1,1); --查看当前search_path。 gaussdb=# SHOW search_path; search_path ---------------- "$user",public (1 row) --因为当前search_path中不包含ot,并且当前用户不是ot,所以直接查看表名会报错。 gaussdb=# SELECT * FROM test_tbl1; ERROR: relation "test_tbl1" does not exist LINE 1: SELECT * FROM test_tbl1; --创建同义词。 gaussdb=# CREATE OR REPLACE SYNONYM test_tbl1 FOR ot.test_tbl1; --使用同义词。 gaussdb=# SELECT * FROM test_tbl1; c1 | c2 ----+---- 1 | 1 (1 row) gaussdb=# INSERT INTO test_tbl1 VALUES (2,2); --删除。 gaussdb=# DROP SYNONYM test_tbl1; gaussdb=# DROP TABLE ot.test_tbl1; gaussdb=# DROP SCHEMA ot CASCADE;
  • 示例 添加/删除审计策略中的操作类型。 --创建一个对数据库执行CREATE的审计策略adt1。 gaussdb=# CREATE AUDIT POLICY adt1 PRIVILEGES CREATE; --添加adt1审计策略中的DROP。 gaussdb=# ALTER AUDIT POLICY adt1 ADD PRIVILEGES (DROP); --删除adt1审计策略中的DROP。 gaussdb=# ALTER AUDIT POLICY adt1 REMOVE PRIVILEGES (DROP); 修改审计策略的注释信息。 --修改adt1审计策略的注释信息为adt1_comments。 gaussdb=# ALTER AUDIT POLICY adt1 COMMENTS 'adt1_comments'; 修改审计策略的过滤信息。 --创建bob_audit用户。 gaussdb=# CREATE USER bob_audit PASSWORD '********'; --修改adt1审计策略的过滤用户为bob_audit。 gaussdb=# ALTER AUDIT POLICY adt1 MODIFY (FILTER ON (ROLES(bob_audit))); --删除bob_audit用户。 gaussdb=# DROP USER bob_audit; 删除审计策略的过滤条件。 --删除adt1审计策略的过滤条件。 gaussdb=# ALTER AUDIT POLICY adt1 DROP FILTER; 关闭审计策略。 --关闭adt1审计策略。 gaussdb=# ALTER AUDIT POLICY adt1 DISABLE; --删除adt1审计策略。 gaussdb=# DROP AUDIT POLICY adt1;
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 --创建基本表table_for_label。 gaussdb=# CREATE TABLE table_for_label(col1 int, col2 text); --创建资源标签table_label。 gaussdb=# CREATE RESOURCE LABEL table_label ADD COLUMN(table_for_label.col1); --将col2添加至资源标签table_label中。 gaussdb=# ALTER RESOURCE LABEL table_label ADD COLUMN(table_for_label.col2); --将资源标签table_label中的一项移除。 gaussdb=# ALTER RESOURCE LABEL table_label REMOVE COLUMN(table_for_label.col1); --删除资源标签table_label。 gaussdb=# DROP RESOURCE LABEL table_label; --删除基本表table_for_label。 gaussdb=# DROP TABLE table_for_label;
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 -- 如果需要游标循环并发执行,需要打开以下GUC参数 gaussdb=# SET query_dop=4; SET gaussdb=# SET sql_beta_feature='enable_plsql_smp'; SET gaussdb=# BEGIN FOR ROW_TRANS IN SELECT first_name FROM hr.staffs LOOP DBE_OUTPUT.PRINT_LINE (ROW_TRANS.first_name ); END LOOP; END; / Tom ANONYMOUS BLOCK EXECUTE --创建表 gaussdb=# CREATE TABLE integerTable1( A INTEGER); CREATE TABLE gaussdb=# CREATE TABLE integerTable2( B INTEGER); CREATE TABLE gaussdb=# INSERT INTO integerTable2 VALUES(2); INSERT 0 1 --多游标共享游标属性的标量 gaussdb=# DECLARE CURSOR C1 IS SELECT A FROM integerTable1;--声明游标 CURSOR C2 IS SELECT B FROM integerTable2; PI_A INTEGER; PI_B INTEGER; BEGIN OPEN C1;--打开游标 OPEN C2; FETCH C1 INTO PI_A; ---- C1%FOUND 和 C2%FOUND 值为 FALSE FETCH C2 INTO PI_B; ---- C1%FOUND 和 C2%FOUND 的值都为 TRUE --判断游标状态 IF C1%FOUND THEN IF C2%FOUND THEN DBE_OUTPUT.PRINT_LINE('Dual cursor share parameter.'); END IF; END IF; CLOSE C1;--关闭游标 CLOSE C2; END; / ANONYMOUS BLOCK EXECUTE --删除临时表 gaussdb=# DROP TABLE integerTable1; DROP TABLE gaussdb=# DROP TABLE integerTable2; DROP TABLE
  • vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间时,VACUUM对全表进行扫描。 参数类型:整型 参数单位:无 取值范围:0~576 460 752 303 423 487 尽管随时可以将此参数设为上述取值范围之间的值,但是,VACUUM将默认其有效值范围限制在autovacuum_freeze_max_age的95%以内。定期的手动VACUUM可以在对此表的反重叠自动清理启动之前运行。 默认值:4000000000 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。
  • max_compile_functions 参数说明:设置服务器存储的函数编译结果的最大数量。 参数类型:整型 参数单位:无 取值范围:1 ~ 2147483647 默认值:1000(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);10(4核CPU/16G内存) 设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 设置建议:存储过多的函数和存储过程的编译结果可能占用很大内存。将此参数设置为一个合理的值,有助于减少内存占用,提升系统性能。
  • vacuum_freeze_min_age 参数说明:指定VACUUM在扫描一个表时用于判断是否用FrozenXID替换记录的xmin字段(在同一个事务中)。 参数类型:整型 参数单位:无 取值范围:0 ~ 576 460 752 303 423 487 尽管随时可以将此参数设为上述取值范围之间的任意值,但是,VACUUM将默认其有效值范围限制在autovacuum_freeze_max_age的50%以内。 默认值:2000000000 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。
  • temp_tablespaces 参数说明:当一个CREATE命令没有明确指定一个表空间时,temp_tablespaces指定了创建临时对象(临时表和临时表的索引)所在的表空间。在这些表空间中创建临时文件用来做大型数据的排序工作。 其值是一系列表空间名的列表。如果列表中有多个表空间时,每次临时对象的创建,GaussDB会在列表中随机选择一个表空间;如果在事务中,连续创建的临时对象被放置在列表里连续的表空间中。如果选择的列表中的元素是一个空串,GaussDB将自动将当前的数据库设为默认的表空间。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:字符串。空字符串表示所有的临时对象仅在当前数据库默认的表空间中创建,请参见default_tablespace。 默认值:空
  • check_function_bodies 参数说明:设置是否在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。为了避免产生问题(比如避免从转储中恢复函数定义时向前引用的问题),偶尔会禁用验证。开启后主要验证存储过程中PL/SQL的词语法问题,包括数据类型、语句和表达式等,对于其中出现的SQL则在Create阶段不做检查而采用了运行时检查的方式。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:布尔型 on表示在CREATE FUNCTION执行过程中进行函数体字符串的合法性验证。 off表示在CREATE FUNCTION执行过程中不进行函数体字符串的合法性验证。 默认值:on
  • session_replication_role 参数说明:控制当前会话与复制相关的触发器和规则的行为。 该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 设置此参数会丢弃之前任何缓存的执行计划。 取值范围:枚举类型 origin表示从当前会话中复制插入、删除、更新等操作。 replica表示从其他地方复制插入、删除、更新等操作到当前会话。 local表示函数执行复制时会检测当前登录数据库的角色并采取相应的操作。 默认值:origin
  • default_transaction_isolation 参数说明:设置默认的事务隔离级别。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 当前版本暂不支持设置默认的事务隔离级别,默认为read committed,请勿自行修改。 取值范围:枚举类型 read committed表示事务读已提交。 repeatable read表示事务可重复读。 serializable,GaussDB目前功能上不支持此隔离级别,等价于repeatable read。 默认值:read committed
  • 语法格式 CREATE TABLESPACE tablespace_name [ OWNER user_name ] [ RELATIVE ] LOCATION 'directory' [ MAXSIZE 'space_size' ] [with_option_clause]; 其中普通表空间的with_option_clause为: WITH ( {filesystem= { ' general ' | " general " | general } | address = { ' ip:port [, ... ] ' | " ip:port [, ... ] " } | cfgpath = { ' path ' | " path " } | storepath = { ' rootpath ' | " rootpath " } | random_page_cost = { ' value ' | " value " | value } | seq_page_cost = { ' value ' | " value " | value }}[, ... ])
  • 示例 --创建表空间。 gaussdb=# CREATE TABLESPACE tbs_location1 RELATIVE LOCATION 'test_tablespace/test_tablespace_1'; --创建表空间指定最大值。 gaussdb=# CREATE TABLESPACE tbs_location2 RELATIVE LOCATION 'test_tablespace/test_tablespace_2' MAXSIZE '10G'; --查询表空间信息。 gaussdb=# SELECT * FROM pg_tablespace WHERE spcname = 'tbs_location2'; spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative ---------------+----------+--------+------------+------------+---------- tbs_location2 | 10 | | | 10485760 K | t (1 row) --创建用户joe。 gaussdb=# CREATE ROLE joe IDENTIFIED BY '********'; --创建表空间,且所有者指定为用户joe。 gaussdb=# CREATE TABLESPACE tbs_location3 OWNER joe RELATIVE LOCATION 'test_tablespace/test_tablespace_3'; --删除表空间及用户。 gaussdb=# DROP TABLESPACE tbs_location1; gaussdb=# DROP TABLESPACE tbs_location2; gaussdb=# DROP TABLESPACE tbs_location3; gaussdb=# DROP ROLE joe;
  • enable_ai_watchdog_forcible_oom_detection 参数说明:强制开启或关闭AI Watchdog的OOM探测功能,若关闭该参数,则会自动根据当前数据库的规格判断是否需要启动OOM探测功能。自动判断模式下,对于max_process_memory 设置为64GB及以上的场景,才会启动OOM探测功能。由于OOM探测功能依赖内存管理模块获取的信息,因此,如果内存管理模块未开启或失效,则OOM探测功能也无法启用。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启。 off:表示关闭。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值。如开启可能会对系统性能产生影响。
  • feedback_model_expired_time 参数说明:该参数用于设置基数反馈模型超时时间,过期的模型会定期被清理。 参数类型:整型 参数单位:毫秒 取值范围:500 ~ 2147483647 默认值:1000*60*60*24 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值。如果超时时间设置过久则会造成系统性能下降;如果设置过短则会导致模型没有过期便被清理掉而影响功能。
  • feedback_collection_expired_time 参数说明:该参数用于设置基数反馈模型超时时间,过期的算子模型会定期被清理。 参数类型:整型 参数单位:毫秒 取值范围:50 ~ 2147483647 默认值:1000*60*60 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值。如果超时时间设置过久则会造成系统性能下降;如果设置过短则会导致模型没有过期便被清理掉而影响功能。
  • adaptive_cost_min_time 参数说明:该参数用于设置基数反馈收集的SQL时间阈值,只有执行时间大于该值的语句反馈会被收集。 参数类型:整型 参数单位:毫秒 取值范围:0 ~ 2147483647 默认值:1000 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为需要调优的慢查询执行时长的20%。如果过低可能造成1%左右系统性能下降;如果设置过长则会导致能够被自动调优的查询不在功能生效范围内。
  • adaptive_costest_strategy 参数说明:该参数用于设置代价评估使用新/旧代价的策略。 参数类型:枚举类型 参数单位:无 取值范围:"L0"、"L1" "L0":只有在基数估计正确(比如使用反馈基数估计)的时候才会触发新代价。 "L1":优先使用新的代价模型计算。 默认值:"L0" 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值。
  • adaptive_costmodel_calibration_interval 参数说明:该参数用于设置代价模型矫正逻辑的间隔时间。 参数类型:整型 参数单位:毫秒 取值范围:0 ~ 2147483647。0表示关闭自动触发代价模型矫正功能。 默认值:1000*60*60 设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。 设置建议:建议设置为默认值。如果该参数设置过小会导致代价模型经常触发矫正功能从而造成性能劣化;如果设置过大则会导致模型矫正不及时性能不优。
  • enable_operator_prefer 参数说明:该参数用于指定是否开启算子倾向性规则,在估计代价相近的情况下,倾向于选择参数化路径执行表连接。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启参数化路径优先。 off表示不开启参数化路径优先。 默认值:off 此参数生效有两个必要的前置条件: 参数化路径被生成。 参数化路估计的代价和其他索引扫描算子类似。
共100000条