微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将视图数据类型定义为VARCHAR24000的函数是否会影响性能?

如何解决将视图数据类型定义为VARCHAR24000的函数是否会影响性能?

即使VARCHAR2(4000)您所做的一切都是使用sql进行的,即使在任何地方使用都不会引起问题(在这种情况下也很可能不会引起问题),但是一旦开始将数据提取到应用程序中,这可能会很痛苦。应用程序可能别无选择,只能根据假定的一列中字符串的最大长度来分配内存…您可能会以这种方式很快耗尽内存。更不用说GUI会保留和格式化4000个字符,无论该函数返回什么…

要限制视图中列的大小,解决方案就是您已经说过的:如果将函数包装substr()select视图的子句中,则列数据类型将设置为VARCHAR2(200)。对我来说,这似乎是正确的方法

解决方法

我创建了一个返回VARCHAR2变量的函数,它所返回的变量的类型VARCHAR2(200)与函数本身的类型相同。

我还创建了一个视图,将该视图用作其中的列。这会自动将视图中该列的数据类型设置为VARCHAR2(4000)

这会导致性能/存储问题吗?

此外,对我来说,最好将aSUBSTR限制为应该使用的200个字符吗?

Oracle 11g BTW。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。