UDR 高速缓存中 SPL 例程、UDR 和其他用户定义的缺省数量为 127。可以使用 PC_POOLSIZE 配置参数更改条目数。
数据库服务器使用散列算法将 SPL 例程存储并定位在 UDR 高速缓存中。您可以使用 PC_HASHSIZE 配置参数修改 UDR 高速缓存中的存储区的数量。例如:如果 PC_POOLSIZE 配置参数的值为 100,而 PC_HASHSIZE 配置参数的值为 10,那么每个存储区可以拥有数量多达 10 个的 SPL 例程和 UDR。
存储区太多将促使数据库服务器在存储区装满时移出高速缓存的 SPL 例程。存储区太少将会增加一个存储区的 SPL 例程的数量,并且数据库服务器必须搜索一个存储区中所有的 SPL 例程来确定所需的 SPL 例程是否存在。
一个存储区中条目数达到 75% 时,数据库服务器就会将最近最少使用的 SPL 例程从该存储区中(从而也从 UDR 高速缓存中)除去,直至该存储区中 SPL 例程数量是该存储区中 SPL 例程最大数量的 50% 为止。
可以通过运行 onstat -g prc 命令来监视 UDR 高速缓存。如果 hits 字段中的数字未均匀分布在各个存储区中,请增加 PC_HASHSIZE 配置参数的值。可以调整存储区数,使每个存储区具有最少的高命中条目数。