数据库服务器使用高速缓存将信息存储到内存中,而不是执行磁盘读取或其他操作来获取信息。这些内存高速缓存为访问相同表的多个查询改善了性能。您可以设置一些配置参数来提高每个高速缓存的效率。您可以通过运行 onstat 命令来查看有关内存高速缓存的信息。
下表列出对性能影响最大的主内存高速缓存以及如何配置和监视这些高速缓存。
高速缓存名称 | 高速缓存描述 | 配置参数 | onstat 命令 |
---|---|---|---|
数据字典 | 存储有关表定义(如列名和数据类型)的信息。 | DD_HASHSIZE:高速缓存中的最大存储区数。
DD_HASHMAX:每个存储区中的表数 |
onstat -g dic |
数据分发 | 存储列的分布统计信息。 | DD_HASHSIZE:高速缓存中的最大条目数。
DS_HASHSIZE:高速缓存中的存储区数。 |
onstat -g dsc |
SQL 语句 | 存储已分析和优化过的 SQL 语句。 | STMT_CACHE:启用 SQL 语句高速缓存。
STMT_CACHE_HITS:SQL 语句在经过高速缓存之前所运行的次数。 STMT_CACHE_NOLIMIT:当分配的内存超过 STMT_CACHE_SIZE 配置参数的值时,禁止向 SQL 语句高速缓存插入条目。 STMT_CACHE_NUMPOOL:SQL 语句高速缓存的内存池数。 STMT_CACHE_SIZE:SQL 语句高速缓存的大小(以 KB 为单位)。 |
onstat -g ssc |
UDR | 存储频繁使用的用户定义的例程和 SPL 例程。 | PC_POOLSIZE:高速缓存中用户定义的例程和 SPL 例程的最大数量。
PC_HASHSIZE:UDR 高速缓存中的存储区数。 |
onstat -g prc |
下表列出其他内存高速缓存以及如何配置和监视这些高速缓存。
高速缓存名称 | 高速缓存描述 | 配置参数 | onstat 命令 |
---|---|---|---|
访问方法 | 存储用户定义的访问方法。 | 无。 | onstat -g cac am |
聚集 | 存储用户定义的聚集。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac agg |
AQT 字典 | 存储数据库服务器用来确定哪些查询可由 GBase 8s Warehouse Accelerator 进行处理的加速查询表。 | 无。 | onstat -g cac aqt |
强制转型 | 存储用户定义的强制转型。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac cast |
外部伪指令 | 存储外部伪指令。 | 无。 | onstat -g cac ed |
LBAC 安全策略信息 | 存储 LBAC 安全策略。 | PLCY_POOLSIZE
PLCY_HASHSIZE |
onstat -g cac lbacplcy |
LBAC 凭证内存 | 存储 LBAC 凭证。 | USRC_POOLSIZE
USRC_HASHSIZE |
onstat -g cac lbacusrc |
运算符类实例 | 存储用户定义的运算符类。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac opci |
过程名称 | 存储用户定义的例程和 SPL 例程名称。 | PC_POOLSIZE
PC_HASHSIZE |
onstat -g cac prn |
例程解析 | 存储用户定义的例程解析信息。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac rr |
二级瞬态 | 在高可用性集群中的辅助服务器上存储瞬态未命名复杂数据类型。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac ttype |
扩展类型标识 | 存储用户定义类型的标识。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac typei |
扩展类型名称 | 存储用户定义类型的名称。 | DS_POOLSIZE
DS_HASHSIZE |
onstat -g cac typen |