暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

【KCP题目解析】No.6

1546

No.6

(单选) 你是KingbaseESv8的系统管理员,现在生产库上的一个复杂查询由于生成的临时文件过大导致磁盘空间不足而中止了,你需要为其指定一个新的磁盘来存放临时文件。则以下哪个选项适用于这种场景?    

A.       CREATE TABLESPACE语句和配置default_tablespace参数  

B.        CREATE TABLESPACE语句和配置temp_tablespaces参数    

C.        CREATE TEMPORARY TABLESPACE语句和配置default_tablespace参数 

D.       CREATE TEMPORARY TABLESPACE语句和配置temp_tablespaces参数   

 

【答案】B

【解析】

--可以把kes的临时表空间建立在/dev/shm下面提高性能

-- 新建目录结构.

mkdir /dev/shm/tbs_tmp

 

-- 创建表空间

create tablespace tbs_tmp location '/dev/shm/tbs_tmp';

 

--如果把目录建在/dev/shm目录下,需要改变目录权限,默认为root用户

chown kingbase.kingbase /dev/shm

 

--设置临时表空间 -- 会话级生效

set session temp_tablespaces='tbs_tmp';

 

--查看临时表空间

TEST=# show temp_tablespaces ;

 

--创建测试表

TEST=#  create temp table test2 (id int);

 

TEST=# \d+ test2

                  Table "sys_temp_5.test2"

 Column |  Type   | Modifiers | Storage | Stats target | Description

--------+---------+-----------+---------+--------------+-------------

 id     | integer |           | plain   |              |

Has OIDs: no

Tablespace: "tbs_tmp"

 

--插入数据

TEST=#  insert into test2 select generate_series(1,1000000);

 

--可发现此目录明显增大,说明临时表的数据已经进到此目录

35M     /dev/shm/tbs_tmp/

 

--由于是临时表,故session退出后此数据就会被清空,临时表目录大小变为0

0       /dev/shm/tbs_tmp/

 

--如果要想让临时表空间的设置对所有的session永久生效,则需要修改配置文件

[kingbase@kes tmp]$ vim $KINGBASE_DATA/kingbase.conf

temp_tablespaces = 'tbs_tmp'

[kingbase@kes tmp]$ sys_ctl reload

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论