热浪发布说明
对字符串列进行编码有助于加快对访问这些列的查询的处理。HeatWave支持两种字符串列编码类型:
变长编码(
VARLEN
)字典编码(
排序
)
当表加载到HeatWave中时,变长编码应用于字符
,VARCHAR
,文本
-type默认列。要使用字典编码,必须定义RAPID_COLUMN =编码=排序
关键字字符串在加载表之前的列注释中。关键字字符串必须是大写的;否则,它将被忽略。
中定义关键字字符串创建表
或ALTER TABLE
声明中,如图所示:
CREATE TABLE orders (name VARCHAR(100) COMMENT 'RAPID_COLUMN=ENCODING=SORTED');
修改VARCHAR(100)注释'RAPID_COLUMN=ENCODING=SORTED';
方法显式指定变长编码RAPID_COLUMN = = VARLEN编码
关键字字符串。
请注意
列注释中允许包含其他信息。例如,允许在列编码关键字字符串旁边指定列描述:
评论的
column_description
RAPID_COLUMN =排序编码= '
提示
对于字符串列编码建议,请在将表加载到HeatWave并运行查询后使用Advisor实用程序。有关更多信息,请参见第9章,使用Advisor优化工作负载.
若要修改或删除字符串列编码,请参见第五章,修改表.
如果你想逃跑加入
涉及字符串列或使用字符串函数和操作符的操作,建议使用变长编码。变长编码比字典编码提供了更多的表达式、过滤器、函数和操作符支持。否则,根据字符串列中相对于表的基数的不同值的数量选择编码类型。
变长编码(
VARLEN
)最适合具有大量不同值的列,例如”评论”列。字典编码(
排序
)最适合具有少量不同值的列,例如”国家”列。
变长编码需要为HeatWave节点上的列值提供空间。字典编码需要MySQL DB System节点上的字典空间。
下表提供了编码类型特征的概述:
表3.1列编码类型特征
编码类型 | 表达式、过滤器、函数和运算符支持 | 最适合 | 空间上需要 |
---|---|---|---|
变长(VARLEN) |
支持加入 操作、字符串函数和操作符以及就像 谓词。看到第12.4.1节,“变长编码”. |
具有大量不同值的列 | 热浪节点 |
字典(排序) |
不支持加入 操作、字符串函数和操作符或就像 谓词。 |
具有少量不同值的列 | MySQL DB系统节点 |
有关字符串列编码的其他信息,请参见第12.4节,“字符串列编码参考”.