详细讲述 SQL SERVER 内存和缓冲区管理
2007-05-20 09:35:42 来源:WEB开发网核心提示: Cache Name Status Type ConfigValue Run value -- -- -pubs_cache pend/act log only7.00MB 0.00MB---Total 7.00MB 0.00MB创建命名缓冲区后一般都须将某些对象捆绑到该缓冲区上,若建立命
Cache Name Status Type Config
Value Run value
---------------- ------ ------
---------------- -------------
pubs_cache pend/act log only
7.00MB 0.00MB
-------------------------------
Total 7.00MB 0.00MB
创建命名缓冲区后一般都须将某些对象捆绑到该缓冲区上。若建立命名缓冲区后未将任何对象捆绑到该命名缓冲区上,则该命名缓冲区所占内存将被浪费,因为任何未指定缓冲区的对象都将缺省使用默认数据缓冲区default data cache。
3、将数据缓冲区划分为缓冲池
建立数据缓冲区后,可将其划分成缓冲池,各不同的缓冲池具有不同的I/O大小,当SQL Server进行大I/O操作时,可将许多页一次读入缓冲区中,故可提高I/O效率。这些页总是被当作一个单元进行处理,它们共存于缓冲区中,作为一个单元被写到磁盘中。缓冲池的页大小可为2KB,4KB,8KB,16KB,缓冲池的总大小不能低于512KB。所有关于缓冲池的配置都是动态的,无需重启SQL Server即可生效。SQL Server内2KB页缓冲池的个数必须保持一个合理的值,否则将会影响SQL Server性能,因为某些命令只能使用2K的I/O块如disk init及某些dbcc命令。
在pubs_cache数据缓冲区中创建一个每页16KB,总空间为7MB的缓冲池,指令如下。通常,创建命名数据缓冲区时,其空间总是被默认划分为每页2KB的缓冲池,创建其它页大小的缓冲池时,该2KB页缓冲池空间被部分分配给新缓冲池。下例中2KB页大小的缓冲池原共有10MB空间,分配给7MB给16KB页的新缓冲池后,2KB页缓冲池还剩3MB空间。
>sp_poolconfig pubs_cache,
"7M","16K"
>go
>sp_cacheconfig pubs_cache
Cache Name Status Type Config
Value Run value
---------------- ------ ------
---------------- -------------
pubs_cache Active mixed 10.00MB 10.00MB
-------------------------------
Total 10.00MB 10.00MB
===================================
================================
Cache:pubs_cache, status:Active, Type:mixed
Config Size:10.00MB, Run size:10.00MB
IO Size Wash Size Config Size Run Size
------- --------- ----------- --------
2KB 512KB 0.00MB 3.00MB
16KB 1424KB 7.00MB 7.00MB
在默认数据缓冲区中也可创建缓冲池,如创建16KB缓冲池,空间大小为8MB,则指令为:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››详细说明Nginx配置文件
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接