【问题标题】:Determine size in kb of a BLOB column in DB2确定 DB2 中 BLOB 列的大小(以 kb 为单位)
【发布时间】:2014-06-13 14:48:39
【问题描述】:

文件表包含 - File_Id 和 File_data(BLOB)

我如何知道存储在 File_data 列中的二进制文件的大小。 length 函数给出了文件的长度,但如何知道大小(KB)。

【问题讨论】:

  • 将结果长度除以 1024?
  • @Peter 这意味着长度以字节为单位。这是实际尺寸吗?
  • @nectar,是的,LENGTH 给出了存储在该记录中的实际数据大小。

标签: size db2 blob


【解决方案1】:

这给出了一个以字节为单位的数字,除以 1024 得到以 KB 为单位的大小。

Select sum(BIGINT(length(blob_column)))
from table;

【讨论】:

    【解决方案2】:

    BLOB Lengthsize 不太一样。

    您首先需要对所有这些问题回答“否”才能确定文件大小:

    1. BLOB 列是否声明为 COMPACT?
    2. 表数据是否压缩? (默认关闭)

    还要考虑 LOB 定位器开销。

    基本上答案是,您不能通过长度方法从列中真正 100% 确定 BLOB / 实际文件大小。

    【讨论】:

    • 我不明白为什么这被否决了?是否不考虑列的紧凑性?
    • 我怀疑阅读它的人不明白我原来的答案是什么意思。我的观点是,如果表未压缩且列不 COMPACT,则只能使用 blob 列的长度。
    • COMPACTLOB 列的值与存储在其中的值的长度无关。
    • @Reigo,我相信压缩是在磁盘级别完成的,所以对于客户端来说,数据总是被视为未压缩的。
    猜你喜欢
    • 2010-11-27
    • 2014-02-19
    • 2014-06-12
    • 2020-04-20
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    相关资源
    最近更新 更多