WEB开发网
开发学院数据库MSSQL Server 详细讲述 SQL SERVER 内存和缓冲区管理 阅读

详细讲述 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,则指令为:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:详细 讲述 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接