更新时间:2024-11-12 GMT+08:00
分享

磁盘空间

介绍与磁盘空间相关的参数,用于限制临时文件所占用的磁盘空间。

sql_use_spacelimit

参数说明:限制单个SQL在单个DN上,触发写盘操作时,所有类型写盘文件的总空间大小,管控的空间包括普通表、临时表以及中间结果集写盘占用的空间。

参数类型:整型

参数单位:kB

取值范围:-1~2147483647,其中-1表示没有限制。

默认值:-1

设置方式:该参数属于USERSET类型参数,请参考表 GUC参数分类中对应设置方法进行设置。取值如果要带单位,必须为kB、MB、GB,不能为TB。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

temp_file_limit

参数说明:指定一个会话中,能用于临时文件的最大磁盘空间。比如:一个连接会话中需要进行排序或者使用外存哈希表的临时文件,以及使用游标功能占用的临时文件。

SQL查询执行时使用的临时表空间不在此限制。

在SMP场景(设置query_dop >= 2)下,前台会话中的SQL会被拆分为若干个(个数等于query_dop参数设置的值)后台线程执行。在任意一个线程产生的临时文件达到阈值后,才会触发前台会话中的SQL报错,此时可能出现临时文件大小大于前台会话中设置的本参数值的情况(此场景下单个前台会话占用的临时文件大小峰值不会超过 temp_file_limit * query_dop)。

在磁盘使用率超过只读阈值datastorage_threshold_value_check后,该参数会被CM接管,设置为0,此时修改temp_file_limit将无法生效。磁盘使用率恢复后,CM会将该参数恢复为默认值。

参数类型:整型

参数单位:kB

取值范围:-1~2147483647,其中-1表示没有限制。

默认值:-1

设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。取值如果要带单位,必须为kB、MB、GB,不能为TB。

设置建议:推荐使用默认值。

设置不当的风险与影响:如果设置过小会导致频繁的I/O操作,导致性能劣化;如果设置过大,可能会占用过多的磁盘空间。

相关文档