我需要在表格的列中存储(大)SQL查询,并且我认为使用BLOB
字段。要清楚,我想存储查询,而不是结果。Oracle BLOB vs VARCHAR
什么是最好的使用:BLOB
或VARCHAR
?或者别的什么可能?
我需要在表格的列中存储(大)SQL查询,并且我认为使用BLOB
字段。要清楚,我想存储查询,而不是结果。Oracle BLOB vs VARCHAR
什么是最好的使用:BLOB
或VARCHAR
?或者别的什么可能?
如果您要存储不适合VarChar2
的文本数据,那么我认为您应该使用CLOB
。
来自OraFaq的报价:* CLOB(字符大对象)是一种Oracle数据类型,最多可容纳4 GB的数据。 CLOB的存储文本非常方便。 *
它们都是不同的。
您可以使用BLOB
来存储二进制数据,如图像,音频和其他多媒体数据。
和VARCHAR
用于存储任何大小的文本,直到极限。
另一种选择是CLOB。对于文本数据,使用CLOB比BLOB更合乎逻辑。即使您不必分析数据库中的数据,使用CLOB仍然有意义,因为即使查看数据也更容易。
某些功能只能使用VARCHAR。例如,您只能在VARCHAR列上创建索引(我不是在这里讨论全文索引,我知道您可以在CLOB列上创建全文索引)。你不能有一个CLOB或BLOB主键(我想你不需要这个;就像一个例子)。
大多数VARCHAR操作比CLOB/BLOB操作快得多。即使使用VARCHAR读取数据也会更快(除非列中有很多文本)。 VARCHAR需要较少的内存开销,但它们通常会在内存中完全读取,因此最后VARCHAR可能仍会使用更多内存。
这是最好的答案,因为它解释了varchar和clob列之间的功能和性能差异。 – Anomaly 2017-11-20 17:54:15
短串→VARCHAR
长字符串→CLOB
二进制数据→BLOB
是的,我觉得我的文字将不适合用VARCHAR。感谢您的解释。 – 2010-09-10 09:47:17