onload 实用程序比 dbimport、dbload 或 LOAD 方法执行得要快。为了获得较高的性能,onload 具有一定约束。
onload 实用程序具有以下约束:
- onload 实用程序只创建新的数据库或表;运行 onload 之前,您必须删除或重命名相同名称的现有数据库或表。执行期间,onload 实用程序的提示将询问您是否要重命名 BLOB 空间。
- 装入期间 onload 实用程序在数据库中的每个表上放置共享锁定。即使您无法正确更新带锁的表行,数据库还是可用于查询。
- 装入完整的数据库时,运行 onload 的用户将成为数据库的所有者。
- onload 实用程序创建的数据库不带日志记录;您必须在 onload 装入数据库后启动日志记录。
- 使用 onload 将表装入已日志记录的数据库时,操作期间必须关闭数据库的日志记录。
- 对于分段的表,会保留数据库空间指定,除非您使用 -fn 选项将其覆盖。
- 对于非分段的表,如果未使用 -d 选项指定目标数据库空间,那么 onload 实用程序会尝试在根数据库空间中存储表。如果由于页大小不同而无法将表存储在根数据库空间或使用 -d 选项指定的数据库空间中,那么 onload 实用程序会尝试使用数据库空间编号与最初所卸载表的数据库空间编号相同的数据库空间。如果此数据库空间仍然具有不同的页面大小,那么装入操作将失败。