首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修正了ECL中的变长字符串字段定义

修正了ECL中的变长字符串字段定义
EN

Stack Overflow用户
提问于 2022-06-21 14:39:26
回答 1查看 40关注 0票数 1

我有一个关于字符串字段定义的问题。

我最好完全限定我的字符串字段,还是允许它们变长?

例如,我正在处理一个数据文件,该文件包含多个字符串数据元素,长度可达1000个字符。

当我将ECL字段定义为STRING1000时,字符串是填充的,很难在ECL中查看。

如果我简单地将ECL字段定义为STRING,则字符串字段将根据字段值的长度进行调整,并且在ECL中更易于读取。

关于我的问题,这两个选项都会影响内存或磁盘中数据集的大小吗?

我应该遵循的最佳做法是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-06-21 14:48:31

这个问题的标准答案是:

如果您知道字符串总是包含n个字符(如美国国家代码或邮政编码字段),或者字符串总是包含1到n个字符,其中n是一个小数字,而实际数据的平均长度接近最大值(就像大多数街道地址字段),那么应该将该字段定义为STRINGn。否则,如果n是一个大数,且数据的平均长度比最大值小,那么可变长度字符串将是最好的。

这两个选项都会影响存储和内存大小:

固定长度的字段总是按其定义的长度存储.变量长度字符串字段存储有一个前导的4字节整数,指示实例后面的实际字符数(就像Pascal字符串),因此,如果定义一个字符串字段总是包含2个字符作为STRING2,则它占用两个字节的存储空间,但将其定义为一个字符串,它将占用6个字符。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72702725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档