将 2.6.0.10 数据迁移到 3.4.0.0,占用的空间明显变大,是正常的吗?

【TDengine 使用环境】
测试【TDengine 版本】

【操作系统以及版本】

【部署方式】非容器部署

【集群节点数】

【集群副本数】

【描述业务影响】

【问题复现路径/shan】

【遇到的问题:问题现象及影响】

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

2.6.0.10 表结构如下
CREATE TABLE arg_data (
ts TIMESTAMP,
val NCHAR(20)
)
TAGS (
device_id NCHAR(100),
arg_id NCHAR(100)
);

磁盘空间占用如下:

将数据同步到 3.4.0.0 后,
表结构如下
CREATE TABLE arg_data (
ts TIMESTAMP,
val NCHAR(20),
val_num INT
)
TAGS (
device_id NCHAR(100),
arg_id NCHAR(100)
);
多了一个 INT 但是没有数据,都是null,占用空间如下

磁盘占用如上,明显增大了好多,这个是正常现象吗?因为多了一个字段?null占据了空间?

show table distributed 表名\G; 看下输出

*************************** 1.row ***************************
_block_dist: Total_Blocks=[22328976] Total_Size=[14519653.29 KiB] Average_size=[0.65 KiB] Compression_Ratio=[5.17 %]
*************************** 2.row ***************************
_block_dist: Block_Rows=[3058142718] MinRows=[1] MaxRows=[4096] AvgRows=[136]
*************************** 3.row ***************************
_block_dist: Inmem_Rows=[0] Stt_Rows=[26576984]
*************************** 4.row ***************************
_block_dist: Total_Tables=[162839] Total_Filesets=[10] Total_Vgroups=[2]
*************************** 5.row ***************************
_block_dist: --------------------------------------------------------------------------------
*************************** 6.row ***************************
_block_dist: 0300 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 22111900 (99.03%)
*************************** 7.row ***************************
_block_dist: 0500 | 4622 (0.02%)
*************************** 8.row ***************************
_block_dist: 0700 | 14857 (0.07%)
*************************** 9.row ***************************
_block_dist: 0900 | 4545 (0.02%)
*************************** 10.row ***************************
_block_dist: 1100 | 83254 (0.37%)
*************************** 11.row ***************************
_block_dist: 1300 | 8089 (0.04%)
*************************** 12.row ***************************
_block_dist: 1500 | 1202 (0.01%)
*************************** 13.row ***************************
_block_dist: 1700 | 801 (0.00%)
*************************** 14.row ***************************
_block_dist: 1900 | 758 (0.00%)
*************************** 15.row ***************************
_block_dist: 2100 | 540 (0.00%)
*************************** 16.row ***************************
_block_dist: 2300 | 473 (0.00%)
*************************** 17.row ***************************
_block_dist: 2500 | 289 (0.00%)
*************************** 18.row ***************************
_block_dist: 2700 | 2326 (0.01%)
*************************** 19.row ***************************
_block_dist: 2900 | 283 (0.00%)
*************************** 20.row ***************************
_block_dist: 3100 | 399 (0.00%)
*************************** 21.row ***************************
_block_dist: 3300 | 362 (0.00%)
*************************** 22.row ***************************
_block_dist: 3500 | 497 (0.00%)
*************************** 23.row ***************************
_block_dist: 3700 | 426 (0.00%)
*************************** 24.row ***************************
_block_dist: 3900 | 535 (0.00%)
*************************** 25.row ***************************
_block_dist: 4100 | 92818 (0.42%)
Query OK, 25 row(s) in set (16.504367s)

用什么方式迁移的呢?看着大部分的块数据都在300条以内,导致压缩率比较差

自己写的同步工具,每分钟从旧版的超级表获取数据,插入到新版的超级表中去。每分钟大约一万条。数据占用磁盘看起来膨胀了快有1倍了。根据不太合理。

可以通过查询每张子表的数据同步到新版超级表中

你意思是跟插入的方式有关系?旧版本确实是按照如下方式写入的

数据同步的时候,使用,插入数据使用的是


两种语法会导致压缩率不同?