装载时间环境调整
您可以在装载数据时调整若干因素,以提高装载性能。
- 如果有权访问 ASCII 或二进制格式的原始数据,请使用 LOAD
TABLE 命令,特别是针对超过一百行的装载。LOAD TABLE 命令是最快的插入方法。
- 在从平面文件装载时,如果系统让您在二进制数据和字符数据之间进行选择,请选择使用前者。这可以避免转换开销并减少 I/O,从而提高性能。
- 对 LOAD
TABLE 命令选项进行相应设置。如果要记录忽略的完整性约束违规,可将其 IGNORE CONSTRAINT 选项限制设置为非零值。记录过多的违规数会影响装载性能。
- 将数据文件与数据库文件放在不同的物理磁盘驱动器上,以避免装载过程中过多的磁头移动。
- 更改启动参数以增加大内存和高速缓存大小。为装载提供充足内存是提高性能的关键因素。在 Simplex 服务器上,大内存需求是总可用内存的三分之一。为确保有足够的内存可供主 IQ 存储库和临时 IQ 存储库使用,应设置 –iqlm、–iqtc 和 –iqmc 启动参数,这样每个参数都会接收到总可用内存的三分之一。 在
Multiplex 服务器上,大内存需求由处理装载操作的一个或多个节点来决定。将协调器或写入程序节点的大内存选项增加到适合装载的级别。读取器节点需要极少的内存便能完成查询操作。
- 为数据库或服务器调整缓冲区分区的程度,以避免出现锁争用。缺省情况下将基于 CPU 数对缓冲区进行分区,并且可通过设置 -iqpartition 服务器命令行选项或 Cache_Partitions 数据库选项对分区进行调整。
- 在使用率较低时安排主要更新。虽然多个用户可以在更新表时进行查询,但是查询用户需要 CPU 周期、磁盘空间和内存。这些资源可以加速插入。
- 如果使用
INSERT 语句,则在服务器所在的计算机上运行 Interactive SQL 或客户端应用程序(如果可行)。通过网络装载数据将增加额外的通信开销。这可能意味着需要在下班时间装载新数据。 如果使用 INSERT...LOCATION 通过网络从远程 Adaptive Server Enterprise 数据库装载大量文本或批量数据,请使用 LOCATION 子句的 PACKETSIZE 参数,以便增加 TDS 包大小。此更改会显著提高装载性能。