WEB开发网
开发学院数据库MSSQL Server 数据表空间的重用(Reusing space in a table) 阅读

数据表空间的重用(Reusing space in a table)

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示:1.理解SQL Server怎样自动的重新利用数据表的空间,下面以实例来做简要的说明. 1.1 建立临时测试数据创建一个测试table: Test,填空1000行数据.--createatesttableCREATETABLEdbo.Test(col1INT,col2CHAR(25),col3VARCHAR(4000)

1.理解SQL Server怎样自动的重新利用数据表的空间,下面以实例来做简要的说明.

1.1 建立临时测试数据

创建一个测试table: Test,填空1000行数据.

--create a test table
CREATE TABLE dbo.Test
(
col1 INT
,col2 CHAR(25)
,col3 VARCHAR(4000)
) ;
--create some test data
DECLARE @cnt INT ;
SET @cnt = 0 ;
WHILE @cnt < 1000
BEGIN
SELECT
@cnt = @cnt + 1 ;
INSERT
dbo.Test ( col1,col2,col3 )
VALUES (
@cnt
,'test row # ' + CAST(@cnt AS VARCHAR(10)) + 'A'
,REPLICATE('ABCD', ROUND(RAND() * @cnt, 0))
) ;
END

首先介绍一个DMV:sys.dm_db_index_physical_stats

数据表空间的重用(Reusing space in a table)

查看原图(大图)

有几个重要的栏位: alloc_unit_type_desc:有效值为:IN_ROW_DATA,LOB_DATA,ROW_OVERFLOW_DATA page_count:储存数据行的数据页数 avg_page_space_used_in_percent:数据页使用的平均百分比 record_count:总的记录数根据这个DMV看看测试表Test的查询结果:

--DMV SQL
select alloc_unit_type_desc,page_count,avg_page_space_used_in_percent,record_count 
from sys.dm_db_index_physical_stats(db_id(),object_id('Test'),NULL,NULL,'Detailed')

1 2 3 4  下一页

Tags:数据表 空间 重用

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