RAR 压缩文件在描述的每个文件的数据前存储包含如文件名称、时间、大小和属性的信息的文件头。这种方法比把所有文件头储存在一个连续的块中更能防止损坏,后者如果损坏或丢失会摧毁整个压缩文件的内容。但在更可靠的同时,这些文件头散布于整个压缩文件,如果我们需要在类似 WinRAR 图形界面的外壳中快速打开压缩文件的内容时的访问速度太慢。
要提高压缩文件的打开速度,而且要整个压缩文件不依赖于单一易受损块,RAR 5.0 压缩文件可以包含一个可选的快速打开的记录。这些记录被添加到压缩文件的结尾,包含附加在压缩文件内的普通文件头的文件名和其它文件信息的副本被存储在一个单一的连续块中。因为块是连续的,所以其内容可以被快速读取,而不需要执行大量的磁盘寻道操作。此块中每一个文件头都被校验和保护。如果 WinRAR 检测到快速打开信息被破坏,它会从压缩文件内重新读取这部分的头信息,所以防伤害性能没有被减弱。
快速打开记录包含文件头的完整副本,这可能是数十或数百个字节/文件,会把压缩文件的大小增加相同的量。当文件数据大小与文件头差不多大时,对于许多小文件,大小的增加是很明显的。所以在默认情况下,如果没有指定 -qo 或 -qo 没有使用参数,WinRAR 只对相对大的文件存储头副本,对小文件继续使用本地头。具体的文件大小阈值依赖解 WinRAR 的版本。这种方法提供了一个在打开速度和压缩文件大小之间的合理折衷。如果您想要最大的压缩文件打开速度,而不管大小,您可以使用 -qo+ 存储所有文件头的副本。如果您需要尽可能小的压缩文件,而不关心压缩文件在不同的程序中打开的速度,指定 -qo- 完全排除快速打开信息。
如果您想测试此参数的性能效果,确保压缩文件的内容没有存储在磁盘的缓存中。对于缓存的压缩文件没有进行真正的磁盘搜索,这使访问没有快速打开记录的文件头也很快。
此命令行参数等同于“压缩文件名和参数”对话框中的 快速打开信息 选项组。