在 MEDIUM 或 HIGH 方式中,查询优化器使用 UPDATE STATISTICS 语句生成的分布统计信息来确定最低成本的查询计划。优化器第一次访问某列的分布统计信息时,数据库服务器从磁盘上的
sysdistrib 系统目录表检索统计信息,并将该信息置于内存中的数据分发高速缓存内。
图 1 显示数据库服务器如何对多个用户访问数据分发高速缓存。
当优化器第一次为用户 1 访问列分布统计信息时,数据库服务器将该分布统计信息放在数据分发高速缓存中。当优化器为访问同一列的用户 2、用户 3 和用户 4 确定查询计划时,数据库服务器不必从磁盘中读取来访问表的数据分发信息。而是从共享内存中的数据分发高速缓存读取分布统计信息。
图: 数据分发高速缓存
![在周围的文本中对此图进行描述。](idsp003.gif)
数据库服务器最初将
sysdistrib 系统目录表的页放在缓冲池中,同处理所有其他数据和索引页一样。但是,数据分发高速缓存提供了额外的性能优势。它具有以下特点:
- 组织格式更有效
- 组织方式允许快速检索
- 避免了缓冲池管理的开销
- 释放缓冲池中的更多页,以供实际的数据页面而不是系统目录页使用
- 减少了对系统目录表的 I/O 操作