IBMDB29.7,内联CLOB和VARCHAR之间有什么区别吗?
使用IBMDB29.7,在32k表空间中,假设一个10000b(一万字节)长的列非常适合一个表PCE。这两者之间有区别吗?一个比另一个好吗IBMDB29.7,内联CLOB和VARCHAR之间有什么区别吗?,db2,varchar,clob,Db2,Varchar,Clob,使用IBMDB29.7,在32k表空间中,假设一个10000b(一万字节)长的列非常适合一个表PCE。这两者之间有区别吗?一个比另一个好吗 VARCHAR(10000) CLOB(536870912) INLINE LENGTH 10000 就功能和性能而言,是首选还是首选?快速看一下这两个,CLOB实际上更通用;所有短于10000的内容都存储在stablespace中,但如果需要更大的内容,也可以,它只存储在磁盘的其他位置。有: 特殊限制适用于产生CLOB数据的表达式 类型和到结构化类型列;
VARCHAR(10000)
CLOB(536870912) INLINE LENGTH 10000
就功能和性能而言,是首选还是首选?快速看一下这两个,CLOB实际上更通用;所有短于10000的内容都存储在stablespace中,但如果需要更大的内容,也可以,它只存储在磁盘的其他位置。有:
特殊限制适用于产生CLOB数据的表达式
类型和到结构化类型列;这样的表达式和列是
在以下情况下不允许:
- 前面有DISTINCT子句的SELECT列表
- GROUP BY子句ORDER BY子句集合运算符other的子选择 比所有人都好
- 谓语基本的、量化的、介于之间的或在内部的谓语
- 聚合函数
- VARGRAPHIC、TRANSLATE和datetime标量函数
- LIKE谓词中的模式操作数,或搜索 POSSTR函数中的字符串操作数
- 字符串的字符串表示形式 日期时间值
VARCHAR
关于性能,我没有一个明确的答案(不幸的是,文档中似乎没有这样的信息——或者至少不容易找到)。然而,从逻辑上讲,DB与CLOB
有更多的工作要做。它必须决定是否直接在结果中返回CLOB
。这至少意味着一些开销。这里是,尽管它也没有给出关于性能的明确答案
我的默认位置是使用VARCHAR
,除非确实需要CLOB
(列中的数据可能大于VARCHAR
限制)