对于字符类型(包括 Text/Char/Varchar)的相关查询,Dictionary Encoding 或 Decoding 会减少比较字符串的耗时,但是会带来大量的 Decode 或 Encode 开销。
ologres 默认对所有的字符类型列建立 Dictionary Encoding,您可以设置 dictionary_encoding_columns 为空,或关闭部分列的自动 Dictionary Encoding 功能。注意,修改 Dictionary Encoding 设置,会引起数据文件重新编码存储,会在一段时间内消耗一部分 CPU 和内存资源,建议在业务低峰期执行变更。
您可以通过上文获取执行后的统计信息获取 Decode 算子的耗时,如果耗时较高,则请关闭 Decode。当表的字符类型字段较多时,建议关闭 Dictionary Encoding 功能可以改善性能。
《阿里云实时数仓Hologres》(下)电子书可以通过以下链接下载:https://developer.aliyun.com/ebook/download/7558
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。