以下是 UltraLiteJ 所支持的数据库存储类型的列表:
数据库存储类型 | 平台支持 |
---|---|
文件系统存储 | Java SE |
RIM 对象存储 (RIM1x) | Java ME |
记录存储 | Java ME |
非持久存储 | 所有 Java 平台 |
在 BlackBerry 智能手机上,数据库存储区的大小受可用对象句柄数量的限制。可用的对象句柄数量由闪存大小确定:
闪存 | 持久句柄 | 句柄 |
---|---|---|
8 MB | 12000 | 24000 |
16 MB | 27000 | 56000 |
32 MB | 65000 | 132000 |
UltraLiteJ 需要使用对象句柄以在数据库中存储值。例如,列数为 10 而索引数为 2 的表行至少需要 12 个对象句柄。
要使数据库存储区更大,UltraLiteJ 需要为每个数据库页使用持久对象句柄。
创建数据库时,使用 Configuration 对象为应用程序选择以下一种持久性形式。
非持久性 创建 NonPersist 对象可以配置仅存在于内存中的数据库存储区。数据库在应用程序启动时创建,并在应用程序运行时使用,然后在应用程序关闭时也随之被放弃。应用程序关闭时,将删除非持久存储区中包含的所有数据。
最终写入持久性 使用持久性配置对象的 setWriteAtEnd 方法启用最终写入持久性后,只有在释放连接后才向数据库写入数据。虽然此形式的持久性会改善事务的整体速度,但如果应用程序异常终止,数据会丢失。
影子分页持久性 影子分页是最强大的持久性形式。它可通过持久性配置对象的 setShadowPaging 方法启用。如果在启动时就启用该持久性形式,它会将数据库恢复到上一个检查点状态,即使应用程序意外中止。
简单分页持久性 未启用影子分页时,会使用简单分页持久性。所有数据都会写入从中读取数据的同一页。从更新开始后到完成前的时间段内,将数据库视为处于损坏状态。在启动时可以检测到损坏的数据库,但无法恢复。与影子分页相比而言,简单分页使用的内存明显要小,并且可提高性能。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |