【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb
参数优先级别
6 ALTER ROLE … SET命令
操作方式:
ALTER ROLE role SET … = value
生效方式:
- 重启服务生效;
- 打开新的连接会话时配置参数生效。
示例:
1)在命令行工具ksql下执行如下命令:
kingbase=# alter role kingdb set work_mem='11MB';
ALTER ROLE
kingbase=# show work_mem;
work_mem
----------
10MB
(1 row)
2)退出ksql当前连接,重新连接后执行查询语句,显示如下:
kingbase=# show work_mem;
work_mem
----------
11MB
(1 row)
7 会话级参数设置
操作方式:
SET [SESSION|LOCAL] … = value
生效方式:
立即生效。
示例:
kingbase=# set work_mem ='12MB';
SET
kingbase=# show work_mem;
work_mem
----------
12MB
(1 row)
8 事务中会话级参数设置
操作方式:
在事务语句中使用会话级参数设置命令。
生效方式:
立即生效。
示例:
kingbase=# set work_mem='13MB';
SET
kingbase=# begin;
BEGIN
kingbase=# show work_mem;
work_mem
----------
13MB
(1 row)
kingbase=# set work_mem='14MB';
SET
kingbase=# show work_mem;
work_mem
----------
14MB
(1 row)
kingbase=# rollback;
ROLLBACK
kingbase=# show work_mem;
work_mem
----------
13MB
(1 row)
9 函数中会话级参数设置
操作方式:
在函数中使用会话级参数设置语句
生效方式:
参数在函数内有效,函数调用完成后失效
示例:
kingbase=# create or replace function kdb_func() returns void as $$
kingbase$# declare
kingbase$# ret text;
kingbase$# begin
kingbase$# show work_mem into ret;
kingbase$# raise notice '%', ret;
kingbase$# end;
kingbase$# $$ language plsql strict set work_mem='15MB';
CREATE FUNCTION
kingbase=# select kdb_func();
NOTICE: 15MB
kdb_func
----------
(1 row)
kingbase=# show work_mem;
work_mem
----------
13MB
(1 row)
10 语句中的暗示性设置
操作方式:
在SQL语句中使用hint设置参数
生效方式:
参数在语句内有效,语句结束后失效
示例:
kingbase=# /*+Set(enable_bitmapscan off)*/
explain select id from tb where id > 1;
【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb