Oracle BLOB 与 VARCHAR

发布于 2024-09-18 09:06:19 字数 133 浏览 8 评论 0原文

我需要在表的列中存储(大型)SQL 查询,并且我想使用 BLOB 字段。需要明确的是,我想存储查询,而不是其结果。

最好使用什么:BLOB 还是 VARCHAR?或者也许还有别的什么?

I need to store a (large) SQL query in a column of a table and I thought using a BLOB field. To be clear, I want to store the query, not its result.

What's best to use: BLOB or a VARCHAR? Or something else maybe?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一梦等七年七年为一梦 2024-09-25 09:06:19

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

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

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

Another option is CLOB. For text data it's more logical to use CLOB than BLOB. Even if you don't have to analyze the data within the database it might still make sense to use CLOB, because even viewing the data is easier.

Some features are only available using VARCHAR. For example, you can only create an index on VARCHAR columns (I'm not talking about fulltext index here, I know you can create a fulltext index on a CLOB column). You can't have a CLOB or BLOB primary key (I guess you don't need that; just as an example).

Most VARCHAR operations are much faster than CLOB / BLOB operations. Even reading data is faster if you use VARCHAR (unless there is really a lot of text in the column). VARCHAR needs less memory overhead, but they will usually be fully read in memory, so at the end VARCHAR might still use more memory.

z祗昰~ 2024-09-25 09:06:19

如果您要存储无法放入 VarChar2 的文本数据,那么我认为您应该使用 CLOB

引用OraFaq: *CLOB(字符大对象)是一种 Oracle 数据类型,可以容纳至 4 GB 数据。 CLOB 可以方便地存储文本。 *

If you're going to store text data that can't fit in a VarChar2 then I think you're supposed to use a CLOB.

Quote from OraFaq: *A CLOB (Character Large Object) is an Oracle data type that can hold up to 4 GB of data. CLOB's are handy for storing text. *

夜夜流光相皎洁 2024-09-25 09:06:19

短字符串 → VARCHAR

长字符串 → CLOB

二进制数据 → BLOB

Short strings → VARCHAR

Long strings → CLOB

Binary data → BLOB

兲鉂ぱ嘚淚 2024-09-25 09:06:19

他们都是不同的。

您可以使用BLOB来存储二进制数据,例如图像、音频和其他多媒体数据。

VARCHAR 用于存储任意大小的文本(不超过限制)。

They are both different.

You use BLOB to store binary data like an image, audio and other multimedia data.

and VARCHAR to store text of any size up to the limit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文