plsql – Oracle PL / SQL:PL / SQL中CLOB数据类型的性能

前端之家收集整理的这篇文章主要介绍了plsql – Oracle PL / SQL:PL / SQL中CLOB数据类型的性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我在PL / sql存储过程中使用许多CLOB变量来存储许多长字符串,那么是否有任何性能问题? CLOB的长度是否也可变?对于CLOB,是否存在任何已知的限制/缺点,而不是使用varchar2和long?

解决方法

CLOB的长度是可变的,是的.上限根据您所使用的Oracle版本和数据库块大小而有所不同.对于11G,限制是“4G * DB_BLOCK_SIZE参数值”(从 11G PL/SQL Language Reference开始).在PL / sql中,VARCHAR2值限制为32767字节.

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

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

注意:如果CLOB对于所有大小的字符数据都优于VARCHAR2,那么Oracle可能会像deprecate VARCHAR2那样使用LONG数据类型 – 但它们没有.

猜你在找的Oracle相关文章