DBE_HEAT_MAP
接口介绍
根据输入的参数,返回目标数据块中行的最后修改时间等信息,用于直观浏览每一行被判定为冷、热行的依据。该接口属于运维类接口,不做可见性判断,即传入的ctid为已删除的行时,该接口依然会返回当前行在页面上最新的状态。
接口名称 |
描述 |
---|---|
ROW_HEAT_MAP |
根据对象所属Schema、数据对象名称、数据对象分区名及ctid获取行的最后修改时间等信息。 |
- DBE_HEAT_MAP.ROW_HEAT_MAP
根据对象所属Schema、数据对象名称、数据对象分区名及ctid获取行的最后修改时间等信息,原型为:
1 2 3 4 5 6
BE_HEAT_MAP.ROW_HEAT_MAP( OWNER IN VARCHAR2, SEGMENT_NAME IN VARCHAR2, PARTITION_NAME IN VARCHAR2 DEFAULT NULL, CTID IN TEXT, V_DEBUG IN BOOL DEFAULT FALSE)
表2 DBE_HEAT_MAP.ROW_HEAT_MAP接口参数说明 参数
描述
OWNER
数据对象所属schema。
SEGMENT_NAME
数据对象名称。
PARTITION_NAME
数据对象分区名,可选参数,默认为NULL。
CTID
目标行的ctid,即block_id或row_id。
V_DEBUG
debug调试,增加日志打印。
表3 DBE_HEAT_MAP.ROW_HEAT_MAP输出参数 参数
描述
OWNER
数据对象的所有者。
SEGMENT_NAME
数据对象名称。
PARTITION_NAME
数据对象分区名称,可选参数。
TABLESPACE_NAME
数据所属的表空间名称。
FILE_ID
行所属的绝对文件ID。
RELATIVE_FNO
行所属的相对文件ID(GaussDB中无此逻辑,因此取值同上)。
CTID
行的ctid,即block_id或row_id。
WRITETIME
行的最后修改时间。
DBE_HEAT_MAP.ROW_HEAT_MAP 接口只支持分布式数据库中数据节点(DN),其他节点暂不支持。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
gaussdb=# ALTER DATABASE set ilm = on; gaussdb=# CREATE Schema HEAT_MAP_DATA; gaussdb=# SET current_schema=HEAT_MAP_DATA; gaussdb=# CREATE TABLESPACE example1 RELATIVE LOCATION 'tablespace1'; gaussdb=# CREATE TABLE HEAT_MAP_DATA.heat_map_table(id INT, value TEXT) TABLESPACE example1; gaussdb=# INSERT INTO HEAT_MAP_DATA.heat_map_table VALUES (1, 'test_data_row_1'); gaussdb=# SELECT * from DBE_HEAT_MAP.ROW_HEAT_MAP( owner => 'heat_map_data', segment_name => 'heat_map_table', partition_name => NULL, ctid => '(0,1)'); owner | segment_name | partition_name | tablespace_name | file_id | relative_fno | ctid | writetime ---------------+----------------+----------------+-----------------+---------+--------------+-------+----------- heat_map_data | heat_map_table | | example1 | 17291 | 17291 | (0,1) | (1 row) |