日期:2014-05-16 浏览次数:20481 次
关联数组:
一维的,无界限的,同种元素的稀疏集合,只在PL/SQL中可用。
在oracle 8i中称为索引表,9i后改为关联数组。
?
嵌套表:
一维的,无界限的,同种元素的稀疏集合;
初始化是紧密的,可能被删除能稀疏的。嵌套表在PL和数据库里使用。
??? 嵌套表是多重表,里面元素没有继承顺序。
?
变长数组:
一维的同种元素集合。有限的,并且不是稀疏的。当定义变长数组时必须指定最大长度。
可以PL/SQL及数据库里使用。变长数组是保留顺序的。
?
?
?选择合适的集合类型。
普遍情况:在都能使用的情况下,优先使用关联数组,因为它能减少coding.不用初始化,不用extend.性能最高(在老的数据库版本中)。如果有储存到数据里的话只能使用嵌套表或是变长数组。
?
Guidelines:
?
Dimensionality |
Single |
Single |
Single |
Usable in SQL? |
No |
Yes |
Yes |
Usable as column datatype in a table? |
No |
Yes; data stored "out of line" (in separate table) |
Yes; data stored "in line" (in same table) |
Uninitialized state |
Empty (cannot be null); elements undefined |
Atomically null; illegal to reference elements |
Atomically null; illegal to reference elements |
Initialization |
Automatic, when declared |
Via constructor, fetch, assignment |
Via constructor, fetch, assignment |
In PL/SQL, elements |
|||
referenced via |
BINARY_INTEGER (-2,147,483,647 .. 2,147,483,647) VARCHAR2 (Oracle9i Database Release 2 and above) |
Positive integer between 1 and 2,147,483,647 |
Positive integer between 1 and 2,147,483,647 |
Sparse? |
Yes |
Initially, no; after deletions, yes |
No |
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|