AUTO_READAHEAD 配置参数

使用 AUTO_READAHEAD 配置参数来更改自动预读模式或禁用一个查询的自动预读操作。

onconfig.std 值
未设置。如果 AUTO_TUNE 配置参数设置为 1,则在标准模式下自动地执行预读。
一个 0 - 2 的整数指定模式,可选地后跟一个逗号和一个整数,指定自动地请求预读的页数。例如,值 1,4096 在标准模式下启用自动预读,每次 4096 页。

0 = 禁用自动预读请求。

1 = 在标准模式下启用自动预读请求。只有当查询等待 I/O 时,数据库服务器才自动地处理预读请求。

2 = 在 GBase_8t 积极(aggressive)模式下启用自动预读请求。在查询开始时数据库服务器自动地处理预读请求,并在查询期间持续进行。

number_of_pages = 4-4096,指出自动地请求预读的页数。缺省是 128 页。

分隔符
用逗号分隔模式和页数。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wfonconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 重置内存中的该值时。
如果在当前 onconfig 文件中未设置 AUTO_READAHEAD 值,编辑 AUTO_TUNE 配置参数并重启数据库服务器。

用法

当数据库服务器检测到查询遇到 I/O 时,自动预读操作通过发出异步页请求帮助提高查询性能。通过将查询处理与从磁盘检索数据并放入缓冲池所需的处理相叠加,异步页请求可提高查询性能。

通常,缺省值 1 适用于大多数生产环境。

在任何特定的环境中,执行 GBase_8t 积极(aggressive)预读取操作都不会明显优于标准预读操作。不过 GBase_8t 积极(aggressive)预读略微有效些:

因为扫描碰到高速缓存数据的 GBase_8t pocket,有些扫描可能会关闭预读操作再开启,GBase_8t 积极(aggressive)预读操作不关闭预读操作。

只有在测试了两种设置并知道 GBase_8t 积极(aggressive)预读操作更有效的情况下,才使用 GBase_8t 积极(aggressive)预读操作。如果不肯定积极预读操作更有效的话,则不要使用。

您可使用 SQL 的 SET ENVIRONMENT 语句的 AUTO_READAHEAD 环境选项来启用或禁用会话的 AUTO_READAHEAD 配置参数值。

预读设置的优先次序如下:
  1. 会话的 SET ENVIRONMENT AUTO_READAHEAD 语句。
  2. AUTO_READAHEAD 配置参数值为 12
  3. 如果在 onconfig 文件中未出现 AUTO_READAHEAD 配置参数值,当服务器完成查询时,服务器在 128 数据页上执行预读(等同于 AUTO_READAHEAD 模式设置为 1)。