压缩数据与SQL操作

对于压缩数据在做sql的操作的时候,有些优化似乎可以做

1. 字典压缩的数据

1. group by

假设有表a:

id province
111 1
222 1
333 1
444 1
555 2
666 3

假设表a在存储的时候对province字段做了字典压缩, 则province可以抽象为一个数据结构Map

Map(1 -> 3, 2 -> 1, 3 -> 1)

假设有sql:

select province, count(1) cnt
from a
group by province

而且数据量很大, 每个文件都会有很多的province字典,即有很多个Map, group by 操作可以看做是多个Map的合并

2. join

假设还有表b:

province province_cn
1 上海
2 浙江
3 江苏

假设有sql:

select id, province_cn
from a
inner join b
on a.province = b.province

此时做join操作的时候无需对表a的province 这个字段数据进行解压就可以很好地进行join

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容