应注意,加载期间从主缓存中分配了内存。根据系统内存要求和要加载的表中的列数,这会影响主缓存所需的最小 RAM 量。
SAP IQ 将为每个缺省值(FP 或 n-bit)索引分配一页,为 LF 索引的每个不同值分配一页。为获得最佳性能,直接从主缓存中获取此内存。对于存在大量并发负载的系统或表非常宽的系统,该内存需求可以快速增加。如果没有足够的高速缓存将这些页固定在 RAM 中,性能将降低,因为 SAP IQ 必须转到磁盘才能重新读取装载所需的页。
HG 和 WD 索引在装载过程中使用临时高速缓存。对于特定 HG 或 WD 索引,所需的临时数量(以字节为单位)大致为:
( 8 + sizeof( datatype ) ) * numberRowsBeingLoaded大约装载 100 行 integer(4 字节数据类型)
(8 + 4) * 100 → 1,200 bytes将 100 行装载到 varchar(20) 中大致是:
(8 + 20) * 100 → 2,800 bytesWD 使用的更多,因为数据值中的每个单词(令牌)都需要一些临时缓存。每个令牌都需要与 HG 索引相同的内存。简而言之,内存需求为:
numberTokens * ( 8 + sizeof( datatype ) ) * numberRows为了用简单的大小写进行说明,假定有一个 char(20) 字段,每行中有 4 个标记。临时高速缓存使用率大致如下:
4 * (8 + 20) * 100 → 11,200 bytes这会使 WD 内存使用更难预测,因为使用量实际上取决于要加载的令牌数量。