ROWS_AT_A_TIME

ROWS_AT_A_TIME 默认设置为 1000,并将结果检索为具有该大小的行块。第一个块的列格式设置用于所有块,因此在稍后的块中,有些条目可能会溢出。

设置结果的格式时,Vertica 会将 ROWS_AT_A_TIME 行缓冲到内存中,以计算最大列宽。如果任何字段值的长度超过前几个 ROWS_AT_A_TIME 行中出现的字段值,则初始提取之后的行可能未正确对齐。 ROWS_AT_A_TIME 可以使用 vsql 元命令 \unset 取消设置以保证正确对齐。不过,这要求将整个结果集重新缓冲到内存中,可能会在结果集太大时导致 vsql 失败。