Sybase数据库中数据高速缓存配置详解
主要配置存储过程sp_cacheconfig
语法:sp_cacheconfig cache_name, "size[P|K|M|G]" [,mixed|logonly] [,strict|relaxed] [,"cache_partition=[1|2|4|8|16|32|64]"]
缓存大小最小为512K
缓冲池大小分为三种:2K,4K,16K
缓存使用功能上分为:缺省数据高速缓存(2K,16K),User_Table_Cache(2K,16K),Log_Cache(2K,4Kw)
常用的命令:
sp_cacheconfig 创建或删除命名缓冲区,改变缓冲区的大小或类型
sp_poolconfig 创建或删除I/O缓冲池,并改变其大小
sp_bindcache 将数据库或数据库对象捆绑到缓冲区
sp_unbindcache 从一个缓冲区中取消对指定对象或数据库的捆绑
sp_unbindcache_all 从一个缓冲区中取消所有对象的捆绑
sp_helpcache 报告有关数据缓冲区的小结信息,并显示捆绑于缓冲区的数据库和对象
sp_cachestrategy 报告有关为表,索引设置的缓冲区策略,禁止或重新允许先提或M
SYBASE内存和缓冲区管理(rekcah0):
sp_logiosize 为日志改变默认的I/O大小
sp_spaceused 估计表和索引大小或有关数据库使用的空间量的信息
sp_estspace 估计表和索引的大小,给出表包含的行的数目
sp_help 报告表将捆绑于哪个缓冲区
sp_helpindex 报告索引将捆绑于哪个缓冲区
sp_helpdb 报告数据库将捆绑于哪个缓冲区
setshowplanon 报告有关用于查询的I/O大小和缓冲区的应用策略
setstatisticsioon 报告为查询进行的读操作数量
setprefetch on/off 允许或禁止某个会话的预先提取
具体配置操作:
给默认高速缓存配置缓存大小:sp_cacheconfig "default data cache","20M"
分配缓冲池,默认是分配在2K缓冲池:sp_poolconfig "default data cache" , "10M","16K"
创建新的高速缓存并分配大小,缺省为mixed:sp_cacheconfig "test_data_cache","8M"
16K缓冲池清洗区配置:sp_poolconfig "test_data_cache" ,"16K" , "wash=720K"
set fmtonly off
sp_cacheconfig查看缓存信息:
Cache Name Status Type Config Value Run Value
---------- ------ ---- ------------ ---------
default data cache Active Default 20.00 Mb 20.00 Mb
test_data_cache Active Mixed 8.00 Mb 8.00 Mb
IO Size Wash Size Config Size Run Size APF Percent
------- --------- ----------- -------- -----------
2 Kb 2048 Kb 0.00 Mb 10.00 Mb 10
16 Kb 2048 Kb 10.00 Mb 10.00 Mb 10
IO Size Wash Size Config Size Run Size APF Percent
------- --------- ----------- -------- -----------
2 Kb 1638 Kb 0.00 Mb 8.00 Mb 10
其中Type有三种值:Default,Mixed,Logonly
分配3M给4K缓冲池:sp_poolconfig "test_data_cache","3M","4K"
分配3M给16K缓冲池:sp_poolconfig "test_data_cache","3M","16K"
sp_cacheconfig "test_data_cache" 查看缓存信息:
Cache Name Status Type Config Value Run Value
---------- ------ ---- ------------ ---------
test_data_cache Active Mixed &