Oracle的varchar2问题!
hax 2002-06-15 01:57:32 问题就是Oracle的varchar2为什么只能有4k长?虽然很多人知晓这一点,却没有人能向我解释这个限制的原因,是设计上为了效率的缘故吗?但是其他的数据库都没有这样的限制,一般至少支持32k长。而且为何在PL/SQL里又能用到32K呢?这样我的PL/SQL程序产生了超过4k的字符串,却又不能直接存储到数据库,有什么意义呢?
还有,我现在管理的网站的后台程序写的时候有点bug(用jsp的jdbc-odbc桥,不是我写的),造成有时候会向Oracle数据库(版本8i)写稍稍超过4k的字符串,这样的结果好像就是oracle没有报错,但占用CPU率升高,这样两三次之后,经常造成数据库服务器的CPU占用率100%,我只好重新启动数据库服务。为什么会是这种情况?为什么Oracle不返回错误给JSP程序?
我也考虑是否不用varchar2而用blob,但是有人说blob的效率差很多,而且无法使用intermedia的全文检索功能(我希望在以后两个月里增加全文检索的功能)。
希望高手能给我指点迷津,或者指示我应该看哪些文章和书籍也可以。
谢谢!