使用 AUTO_READAHEAD 配置参数来更改自动预读模式或禁用一个查询的自动预读操作。
onconfig.std 值
未设置。如果 AUTO_TUNE 配置参数设置为 1,则在标准模式下自动地执行预读。
值
一个 0 - 2 的整数指定模式,可选地后跟一个逗号和一个整数,指定自动地请求预读的页
数。例如,值 1,4096 在标准模式下启用自动预读,每次 4096 页。
0 = 禁用自动预读请求。
1
= 在标准模式下启用自动预读请求。只有当查询等待 I/O 时,数据库服务器才自动地处
理预读请求。
2 = 在 GBase 8s 积极(aggressive)模式下启用自动预读请求。在查询开始时数据库服
务器自动地处理预读请求,并在查询期间持续进行。
number_of_pages = 4-4096,指出自动地请求预读的页数。缺省是 128 页。
分隔符
用逗号分隔模式和页数。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 重置内存中的该值时。
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 33 -
如果在当前 onconfig 文件中未设置 AUTO_READAHEAD 值,
编辑 AUTO_TUNE 配置参数并重
启数据库服务器。
用法
当数据库服务器检测到查询遇到 I/O 时,
自动预读操作通过发出异步页请求帮助提高查询
性能。通过将查询处理与从磁盘检索数据并放入缓冲池所需的处理相叠加,异步页请求可
提高查询性能。
通常,缺省值 1 适用于大多数生产环境。
在任何特定的环境中,执行 GBase 8s 积极(aggressive)预读取操作都不会明显优于标
准预读操作。不过 GBase 8s 积极(aggressive)预读略微有效些:
对于一些读取少量数据的扫描
有些情况下,您会在关预读与开预读之间切换,对于小扫描关预读,对于较大扫描
开预读。
对于只看少量行的扫描,因为服务器立即执行预读操作而不是等待扫描遇到 I/O。
因为扫描碰到高速缓存数据的 GBase 8s pocket,有些扫描可能会关闭预读操作再开启,
GBase 8s 积极(aggressive)预读操作不关闭预读操作。
只有在测试了两种设置并知道 GBase 8s 积极(aggressive)预读操作更有效的情况下,
才使用 GBase 8s 积极(aggressive)预读操作。如果不肯定积极预读操作更有效的话,
则不要使用。
您可使用 SQL 的 SET ENVIRONMENT 语句的 AUTO_READAHEAD 环境选项来启用或禁用会话
的 AUTO_READAHEAD 配置参数值。
预读设置的优先次序如下:
1. 会话的 SET ENVIRONMENT AUTO_READAHEAD 语句。
2. AUTO_READAHEAD 配置参数值为 1 或 2。
3. 如果在 onconfig 文件中未出现 AUTO_READAHEAD 配置参数值,
当服务器完成查询时,
服务器在 128 数据页上执行预读(等同于 AUTO_READAHEAD 模式设置为 1)。