【问题标题】:How much overhead space do rows in SE tables consume?SE 表中的行消耗了多少开销空间?
【发布时间】:2016-06-23 12:19:11
【问题描述】:

我的行长度为 499 字节。 SE每行使用多少字节来存储数据文件中的行?

2K 页面可以容纳多少行?

【问题讨论】:

    标签: informix


    【解决方案1】:

    有一个字节的开销。每行都以换行符(未删除)或空字节(已删除)终止。

    但是,SE 使用 C-ISAM,而 C-ISAM 不使用页面来存储数据。连续的行只是简单地连续存储。索引文件使用页面,但不使用数据文件。

    【讨论】:

    • NULL 值的列是否仍然占用固定长度的列? 2K pagesize 中每个索引节点有多少开销?
    • 在 SE 中,所有行都是固定长度的,行中的所有字段,无论是否为空,都是固定长度。对于索引页面结构和开销,我必须阅读 C-ISAM 手册中的相关附录。我需要很长时间(十年或更长时间)才知道这一点。
    • 如果每行只有1字节开销,为什么查看SE数据文件时数据会出现乱码,无法打印?
    • 因为 INT 值存储为带有不可打印字符的二进制; SMALLINT、FLOAT、SMALLFLOAT、DECIMAL 值也是如此。只有 CHAR 值以可读方式存储(即使这样,也假设您存储了可读数据)。 C-ISAM 数据是二进制格式,不是文本格式。
    • 您可以在IBM Publications Center 中找到C-ISAM 手册。附录 D 文件格式描述了索引文件的结构。请注意,SE 不支持可变长度字段,因此 SE 创建的 C-ISAM 文件永远不会有“剩余存储节点”。信息足够长,我还没准备好将其转录成主要答案。如果问题是关于“C-ISAM 索引文件的结构是什么?”那么也许可以,但这只是在反省手册。
    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 2023-03-30
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2020-05-30
    相关资源
    最近更新 更多