Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle BLOB vs VARCHAR_Sql_Oracle_Types_Blob_Varchar - Fatal编程技术网

Sql Oracle BLOB vs VARCHAR

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。对于

我需要在一个表的列中存储一个(大型)SQL查询,我想使用
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列之间的特性和性能差异。