更新时间:2024-08-20 GMT+08:00
DBE_COMPRESSION
接口介绍
根据输入的参数,评估指定数据对象的采样压缩率或者获取指定行数据的压缩类型。
接口名称 |
描述 |
---|---|
GET_COMPRESSION_RATIO |
根据输入参数评估指定数据对象的采样压缩率。 |
GET_COMPRESSION_TYPE |
根据输入参数获取指定行数据的压缩类型。 |
- DBE_COMPRESSION.GET_COMPRESSION_RATIO
1 2 3 4 5 6 7 8 9 10 11 12 13 14
DBE_COMPRESSION.GET_COMPRESSION_RATIO ( scratchtbsname IN TEXT, ownname IN TEXT, objname IN TEXT, subobjname IN TEXT, comptype IN INTEGER, blkcnt_cmp OUT INTEGER, blkcnt_uncmp OUT INTEGER, row_cmp OUT INTEGER, row_uncmp OUT INTEGER, cmp_ratio OUT NUMBER, comptype_str OUT VARCHAR2, sample_ratio IN NUMBER DEFAULT 20, objtype IN INTEGER DEFAULT 1);
表2 DBE_COMPRESSION.GET_COMPRESSION_RATIO接口参数说明 参数
描述
scratchtbsname
数据对象所属表空间。
ownname
数据对象所有者(所属模式)。
objname
数据对象名称。
subobjname
数据子对象名称。
comptype
压缩类型,支持:- 1:未压缩
- 2:高级压缩
blkcnt_cmp
采样行行压缩后占页面数。
blkcnt_uncmp
采样行未压缩时占页面数。
row_cmp
单页面容纳压缩行数。
row_uncmp
单页面容纳非压缩行数量。
cmp_ratio
压缩率。
comptype_str
压缩类型字符串。
sample_ratio
采样率。
objtype
对象类型,支持:- 1:表对象
- DBE_COMPRESSION.GET_COMPRESSION_TYPE
根据输入参数获取指定行数据的压缩类型,该接口属于运维类接口,不做可见性判断,即传入的ctid为已删除的行时,该接口依然会返回当前行在页面上最新的状态。原型为:
1 2 3 4 5 6
DBE_COMPRESSION.GET_COMPRESSION_TYPE ( ownname IN TEXT, tablename IN TEXT, ctid IN INTEGER, subobjname IN TEXT DEFAULT NULL, comptype OUT INTEGER);
表3 DBE_COMPRESSION.GET_COMPRESSION_TYPE接口参数说明 参数
描述
ownname
数据对象所有者(所属模式)。
tablename
数据对象名称。
ctid
目标行ctid。
subobjname
数据子对象名称。
comptype
压缩类型,支持:- 1:未压缩
- 2:高级压缩
示例
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 |
gaussdb=# alter database set ilm = on; gaussdb=# CREATE user user1 IDENTIFIED BY 'Gauss_zzy123'; gaussdb=# CREATE user user2 IDENTIFIED BY 'Gauss_zzy123'; gaussdb=# SET ROLE user1 PASSWORD 'Gauss_zzy123'; gaussdb=# CREATE TABLE TEST_DATA (ORDER_ID INT, GOODS_NAME TEXT, CREATE_TIME TIMESTAMP) ILM ADD POLICY ROW STORE COMPRESS ADVANCED ROW AFTER 1 DAYS OF NO MODIFICATION; INSERT INTO TEST_DATA VALUES (1, '零食大礼包A', NOW()); gaussdb=# SELECT DBE_COMPRESSION.GET_COMPRESSION_TYPE('user1', 'test_data', '(0,1)', NULL); get_compression_type ---------------------- 1 (1 row) DECLARE o_blkcnt_cmp integer; o_blkcnt_uncmp integer; o_row_cmp integer; o_row_uncmp integer; o_cmp_ratio number; o_comptype_str varchar2; begin dbe_compression.get_compression_ratio( SCRATCHTBSNAME => NULL, OWNNAME => 'user1', OBJNAME => 'test_data', SUBOBJNAME => NULL, COMPTYPE => 2, BLKCNT_CMP => o_blkcnt_cmp, BLKCNT_UNCMP => o_blkcnt_uncmp, ROW_CMP => o_row_cmp, ROW_UNCMP => o_row_uncmp, CMP_RATIO => o_cmp_ratio, COMPTYPE_STR => o_comptype_str, SAMPLE_RATIO => 100, OBJTYPE => 1); RAISE INFO 'Number of blocks used by the compressed sample of the object : %', o_blkcnt_cmp; RAISE INFO 'Number of blocks used by the uncompressed sample of the object : %', o_blkcnt_uncmp; RAISE INFO 'Number of rows in a block in compressed sample of the object : %', o_row_cmp; RAISE INFO 'Number of rows in a block in uncompressed sample of the object : %', o_row_uncmp; RAISE INFO 'Estimated Compression Ratio of Sample : %', o_cmp_ratio; RAISE INFO 'Compression Type : %', o_comptype_str; end; / INFO: Number of blocks used by the compressed sample of the object : 0 INFO: Number of blocks used by the uncompressed sample of the object : 0 INFO: Number of rows in a block in compressed sample of the object : 0 INFO: Number of rows in a block in uncompressed sample of the object : 0 INFO: Estimated Compression Ratio of Sample : 1 INFO: Compression Type : Compress Advanced |
父主题: 二次封装接口(推荐)