Sql Oracle BLOB vs VARCHAR
我需要在一个表的列中存储一个(大型)SQL查询,我想使用Sql Oracle BLOB vs VARCHAR,sql,oracle,types,blob,varchar,Sql,Oracle,Types,Blob,Varchar,我需要在一个表的列中存储一个(大型)SQL查询,我想使用BLOB字段。为了清楚起见,我想存储查询,而不是它的结果 最好使用什么:BLOB或VARCHAR?或者别的什么?它们都是不同的 您可以使用BLOB存储二进制数据,如图像、音频和其他多媒体数据 和VARCHAR来存储任意大小的文本。如果您要存储无法放入VarChar2的文本数据,那么我认为您应该使用CLOB 引用自:*CLOB(字符大对象)是一种Oracle数据类型,最多可容纳4 GB的数据。CLOB便于存储文本* 另一个选项是CLOB。对于
BLOB
字段。为了清楚起见,我想存储查询,而不是它的结果
最好使用什么:
BLOB
或VARCHAR
?或者别的什么?它们都是不同的
您可以使用BLOB
存储二进制数据,如图像、音频和其他多媒体数据
和
VARCHAR
来存储任意大小的文本。如果您要存储无法放入VarChar2
的文本数据,那么我认为您应该使用CLOB
引用自:*CLOB(字符大对象)是一种Oracle数据类型,最多可容纳4 GB的数据。CLOB便于存储文本* 另一个选项是CLOB。对于文本数据,使用CLOB比BLOB更符合逻辑。即使您不必分析数据库中的数据,也可以使用CLOB,因为即使查看数据也更容易 某些功能仅在使用VARCHAR时可用。例如,您只能在VARCHAR列上创建索引(这里我不是在谈论全文索引,我知道您可以在CLOB列上创建全文索引)。您不能有CLOB或BLOB主键(我想您不需要它;举个例子)
大多数VARCHAR操作比CLOB/BLOB操作快得多。如果使用VARCHAR,即使读取数据也会更快(除非列中确实有很多文本)。VARCHAR需要更少的内存开销,但它们通常会在内存中完全读取,因此在最后VARCHAR可能仍会使用更多内存。短字符串→ 瓦尔查尔 长线→ 克洛布
二进制数据→ BLOB是的,我认为我的文本无法放入VARCHAR。感谢您的解释。这是最好的答案,因为它解释了varchar和clob列之间的特性和性能差异。