gpt4 book ai didi

plsql - 甲骨文 PL/SQL : Performance of CLOB data type in PL/SQL

转载 作者:行者123 更新时间:2023-12-01 10:14:24 27 4
gpt4 key购买 nike

如果我在 PL/SQL 存储过程中使用许多 CLOB 变量来存储许多长字符串,是否存在性能问题? CLOB 的长度也是可变的吗? CLOB 代替使用 varchar2 和 long 是否有任何已知的限制/缺点?

最佳答案

CLOB 的长度是可变的,是的。上限因您使用的 Oracle 版本和数据库 block 大小而异。对于 11G,限制是“4G * DB_BLOCK_SIZE 参数的值”(来自 11G PL/SQL Language Reference)。 VARCHAR2 值在 PL/SQL 中限制为 32767 字节。

关于 PL/SQL 中 CLOB 与 VARCHAR2 的相对性能,我没有任何明确的信息,简短的 Google 也没有返回任何有用的信息。但是,我强烈怀疑 VARCHAR2 通常比 CLOB 执行得更好(对于可以存储在其中任何一个中的数据),因为它更简单。您可以通过使用 VARCHAR2 和 CLOB 编写一次相同的简单程序,然后每 1000 次运行一次并比较总耗用时间,轻松设置测试来证明这是对还是错。汤姆凯特的 Runstats实用程序在这里提供了很大的帮助,并显示了 2 种方法在 Oracle 资源方面的其他差异。

我的建议是:如果您的数据超过 32K,那么您必须使用 CLOB;如果不是,则不要使用 CLOB,使用 VARCHAR2。

注意:如果 CLOB 对于所有 大小的字符数据都优于 VARCHAR2,Oracle 可能会 deprecate VARCHAR2,就像他们对 LONG 数据类型所做的那样 - 但他们没有。

关于plsql - 甲骨文 PL/SQL : Performance of CLOB data type in PL/SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com