Sql server 问题诊断

1.exec sp_spaceused 查看数据空空间使用情况

2、

--改成当前库
use DB_Name
--创建变量 指定要查看的表
declare @table_id int
set @table_id=object_id('TableName')
--执行
dbcc showcontig(@table_id) 
查看特定表的索引碎片

3、select page_count,avg_page_space_used_in_percent from sys.dm_db_index_physical_stats (DB_ID('Test'),object_id('dbo.tablefortest'),null,null,'sampled') a;

4、理解为什么产生了索引碎片?一页能存储8k左右的数据。

   如何设置填充因子的值并没有一个公式或者理念可以准确的设置。使用填充因子虽然可以减少更新或者插入时的分页,但同时因为需要更多的页,所以降低了查询的性能和占用更多的磁盘空间.如何设置这个值进行trade-off需要根据具体的情况来看.

    具体情况要根据对于表的读写比例来看,我这里给出我认为比较合适的值:

    1.当读写比例大于100:1时,不要设置填充因子,100%填充

    2.当写的次数大于读的次数时,设置50%-70%填充

    3.当读写比例位于两者之间时80%-90%填充

    上面的数据仅仅是我的看法,具体设置的数据还要根据具体情况进行测试才能找到最优.

 5、dbcc checkdb

原文地址:https://www.cnblogs.com/liwenchaoCode/p/10927886.html