Oracle BLOB vs VARCHAR

CC.*_*CC. 7 sql oracle varchar types blob

我需要在表的一列中存储(大)SQL查询,我想使用一个BLOB字段.要清楚,我想存储查询,而不是结果.

什么是最好用的:BLOB或者VARCHAR?或者别的什么呢?

Han*_*son 11

如果您要存储不适合的文本数据,VarChar2那么我认为您应该使用CLOB.

来自OraFaq的引用:*CLOB(字符大对象)是一种Oracle数据类型,最多可以容纳4 GB的数据.CLOB用于存储文本很方便.*


Tho*_*ler 9

另一种选择是CLOB.对于文本数据,使用CLOB比使用BLOB更合乎逻辑.即使您不必分析数据库中的数据,使用CLOB仍然有意义,因为即使查看数据也更容易.

某些功能仅可使用VARCHAR.例如,您只能在VARCHAR列上创建索引(我不是在谈论全文索引,我知道您可以在CLOB列上创建全文索引).您不能拥有CLOB或BLOB主键(我猜您不需要它;仅作为示例).

大多数VARCHAR操作比CLOB/BLOB操作快得多.如果使用VARCHAR,即使读取数据也会更快(除非列中有很多文本).VARCHAR需要较少的内存开销,但它们通常会在内存中完全读取,因此最后VARCHAR可能仍会使用更多内存.


Pau*_*ams 9

短串→VARCHAR

长串→CLOB

二进制数据→BLOB