user3198603 Asked: 2018-07-07 06:39:12 +0800 CST2018-07-07 06:39:12 +0800 CST 2018-07-07 06:39:12 +0800 CST 在这种情况下,CLOB 与 Varchar2 的性能如何? 772 从 java 应用程序中,我需要存储可以超过 4000 个字符的字符串。我只需要存储它。然后具有数据库访问权限的人可以查询和查看它。不会从 java 应用程序访问该列。我也没有任何索引它的要求。 我的理解是,当我们需要访问 CLOB 数据类型或需要对其进行索引时,varchar2 在性能上比 CLOB 更好。那是对的吗 ? 我的问题 - 当我们只需要存储它并在 sql developer throigh 查询中访问它时,对性能有什么影响吗? oracle varchar 1 个回答 Voted Best Answer Balazs Papp 2018-07-07T07:07:08+08:002018-07-07T07:07:08+08:00 Pre-12c:varchar2限制为 4000 字节。如果您需要在字段中存储更多数据,请选择CLOB. 从 12c 开始:在启用Extended datatypesvarchar2后限制为 4000 字节或 32767 字节。如果您需要在字段中存储更多数据,请选择. 对于扩展数据类型,在内部存储为 LOB,其中“短”字段进入表段,而“长”字段进入 LOB 段。CLOBvarchar2 两种类型都可以被索引(Oracle Text)。 LOB 被设计为写入一次,然后被视为只读数据。对现有 LOB 数据的 DML 操作通常比对varchar2. LOB 支持重复数据删除(需要 Advanced Compression 选项)。 根据用例,varchar2可以表现更好或相同。 但是根据你上面写的(只读数据,列不被访问或搜索),CLOB应该没问题,你不需要摆弄扩展数据类型或关心varchar2.
Pre-12c:
varchar2
限制为 4000 字节。如果您需要在字段中存储更多数据,请选择CLOB
.从 12c 开始:在启用Extended datatypes
varchar2
后限制为 4000 字节或 32767 字节。如果您需要在字段中存储更多数据,请选择. 对于扩展数据类型,在内部存储为 LOB,其中“短”字段进入表段,而“长”字段进入 LOB 段。CLOB
varchar2
两种类型都可以被索引(Oracle Text)。
LOB 被设计为写入一次,然后被视为只读数据。对现有 LOB 数据的 DML 操作通常比对
varchar2
.LOB 支持重复数据删除(需要 Advanced Compression 选项)。
根据用例,
varchar2
可以表现更好或相同。但是根据你上面写的(只读数据,列不被访问或搜索),
CLOB
应该没问题,你不需要摆弄扩展数据类型或关心varchar2
.