可根据现有行创建压缩字典,以供 GBase 8s 压缩表或表分段中的数据时使用。创建字典之后,GBase 8s 将使用该字典来压缩新插入或更新的行。
如果没有压缩字典,您也可以在运行压缩命令时创建。这两个命令的唯一差别是压缩命令还将压缩表或分段中的现有数据。
如果数据已装入表中,并且您要创建字典以用于在装入数据时压缩新数据,那么可以为该表创建压缩字典。
该表或分段必须至少包含 2000 行数据,然后数据库服务器才能创建压缩字典。如果创建字典时,表或分段没有足够的数据用于字典,那么该表或分段将设置为自动压缩。然后,在该表或分段中装入了足够的数据后,数据库服务器将自动创建该字典。
有关压缩字典的一般信息,请参阅压缩字典。
先决条件:
要创建压缩字典,请执行以下操作:
EXECUTE FUNCTION task(“table create_dictionary”, “table_name”, “database_name”, “owner_name”);
必须指定表名。数据库和所有者名称可选。 如果不指定数据库或所有者名称,GBase 8s 将使用当前数据库和所有者名称。
EXECUTE FUNCTION task(“fragment create_dictionary”, “partnum_list”);
partnum_list 列出了分区号,以空格分隔。
以下示例显示了这样的一个命令:指示 GBase 8s 为所有者为“shakar”的“music”数据库内名为“classical”的表创建压缩字典。
EXECUTE FUNCTION task("table create_dictionary","classical","music","shakar");
要在创建压缩字典之后压缩现有表或分段行中的数据,必须运行压缩命令。
只有在解压缩表或分段之后,才能删除压缩字典。