gpt4 book ai didi

db2 - IBM DB2 9.7,内联 CLOB 和 VARCHAR 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-04 21:14:06 28 4
gpt4 key购买 nike

使用 IBM DB2 9.7,在 32k 表空间中,假设 10000b(一万字节)长的列非常适合表空间。这两者之间有区别吗?一个比另一个更受欢迎吗?

VARCHAR(10000)
CLOB(536870912) INLINE LENGTH 10000

在功能和性能方面是两者之一还是首选?快速浏览一下这两者,CLOB 实际上更通用;所有小于 10000 的内容都存储在稳定空间中,但如果需要更大的内容,那也没关系,它只是存储在磁盘上的其他地方。

最佳答案

a number of restrictions on the way CLOB can be used in a query :

Special restrictions apply to expressions resulting in a CLOB data type, and to structured type columns; such expressions and columns are not permitted in:

  • A SELECT list preceded by the DISTINCT clause
  • A GROUP BY clause An ORDER BY clause A subselect of a set operator other than UNION ALL
  • A basic, quantified, BETWEEN, or IN predicate
  • An aggregate function
  • VARGRAPHIC, TRANSLATE, and datetime scalar functions
  • The pattern operand in a LIKE predicate, or the search string operand in a POSSTR function
  • The string representation of a datetime value.

因此,如果您需要做任何这些事情,VARCHAR 是首选。

我没有关于性能的明确答案(不幸的是,文档中似乎没有这样的信息——或者至少,它不容易找到)。然而,从逻辑上讲,DB 与 CLOB 有更多的工作要做。它必须决定是否直接在结果中返回 CLOB。这至少意味着一些开销。这是 a good discussion of some of the issues ,尽管它也没有给出关于性能的明确答案。

我的默认位置是使用 VARCHAR 除非确实需要 CLOB(列中的数据可以大于 VARCHAR 限制) .

关于db2 - IBM DB2 9.7,内联 CLOB 和 VARCHAR 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16207682/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com