1、查看数据库索引碎片:DBCC ShowContig 。查看当前选中数据库中每个表的碎片等信息。DBCC ShowContig(tableName)查看某个表的信息.
通过对扫描密度(过低),扫描碎片(过高)的结果分析,判定是否需要索引重建,主要看如下两个:
Scan Density [Best Count:Actual Count]-扫描密度[最佳值:实际值]:DBCC SHOWCONTIG返回最有用的一个百分比。这是扩展盘区的最佳值和实际值的比率。该百分 比应该尽可能靠近100%。低了则说明有外部碎片。
Logical Scan Fragmentation-逻辑扫描碎片:无序页的百分比。该百分比应该在0%到10%之间,高了则说明有外部碎片。
解决方式:
一是利用DBCC INDEXDEFRAG整理索引碎片
二是利用DBCC DBREINDEX重建索引。
2、随机选择10 条记录
SELECT TOP 10 * FROM tableName ORDER BY NEWID()
3、开启Ad Hoc Distributed Queries
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
4、关闭Ad Hoc Distributed Queries
exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure
5、清理数据库日志
DBCC SHRINKDATABASE(DATABASE)
DBCC SHRINKDATABASE(loadTest)
exec('DBCC SHRINKDATABASE(loadTest)')
6、清空缓存
DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE DBCC freesystemcache('ALL')