从java应用程序中,我需要存储可以超过4000个字符的字符串。我只需要存储它。然后具有数据库访问权限的人可以查询和查看它。不会从 Java 应用程序访问该列。此外,我没有任何要求将其编入索引。
我的理解是,当我们需要访问 CLOB 数据类型或需要对其进行索引时,varchar2 的性能比 CLOB 更好。那是对的吗 ?
我的问题 - 当我们只需要存储它并在 sql developer throigh 查询中访问它时,对性能有什么影响吗?
Pre-12c:varchar2限制为 4000 字节。如果您需要在字段中存储更多数据,请选择CLOB.
从 12c 开始:varchar2在启用Extended datatypes后限制为 4000 字节或 32767 字节。如果您需要在字段中存储更多数据,请选择CLOB. 对于扩展数据类型,varchar2在内部存储为 LOB,其中“短”字段转到表段,而“长”字段转到 LOB 段。
这两种类型都可以建立索引 (Oracle Text)。
LOB 设计为一次写入,然后将其视为只读数据。对现有 LOB 数据的 DML 操作通常比在varchar2.
LOB 支持重复数据删除(需要高级压缩选项)。
根据用例,varchar2可以表现更好或相同。
但是根据你上面写的(只读数据,不访问或搜索列),CLOB应该没问题,你不需要摆弄扩展数据类型或关心varchar2.
| 归档时间: |
|
| 查看次数: |
8046 次 |
| 最近记录: |