【发布时间】:2016-02-10 19:15:48
【问题描述】:
我正在尝试找出 PL/SQL 中 VARRAY 的可能上限。
我们当然可以将 VARRAY 类型定义为
TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit)
OF element_type [NOT NULL];
Oracle 文档有这样的说法:
每个可变数组都存储为单个对象,或者在 它是一列(如果 varray 小于 4KB)或在 表但仍在同一个表空间中(如果 varray 大于 4KB)。您必须在 同时,这在执行某些操作时最合适 所有元素一次。但是您可能会发现存储不切实际 并以这种方式检索大量元素。
但是size_limit 参数的上限是多少?是否等于无符号整数(4,294,967,295)?
【问题讨论】:
-
当然,对于任何远大于个位数的限制,声明限制的好处都在减少。例如,如果打算为每个美国州拥有一个数组元素,则声明
varray(50) of varchar2(2)是合理的。但是 20 亿?
标签: oracle plsql size database-administration varray