如何查看SQL Server的索引碎片情况并进行整理
一、查看碎片占用情况
SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName,
ind.name AS IndexName, indexstats.index_type_desc AS IndexType,
indexstats.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats
INNER JOIN sys.indexes ind
ON ind.object_id = indexstats.object_id
AND ind.index_id = indexstats.index_id
WHERE indexstats.avg_fragmentation_in_percent > 30
ORDER BY indexstats.avg_fragmentation_in_percent DESC
说明:为了获得最佳性能,avg_fragmentation_in_percent的值应尽可能接近零。
二、sql server中index的REBUILD和REORGANIZE
--1.准备实验数据
select * into Employee from AdventureWorks2008R2.HumanResources.Employee;--2.查看使用空间:Employee 290 72 KB 56 KB 8 KB 8 KB
sp_spaceused Employee--3.创建聚集索引
create clustered index IX_BusinessEntityID on Employee(BusinessEntityID);--4.查看使用空间:Employee 290 80 KB 56 KB 16 KB 8 KB
sp_spaceused Employee--5.索引重建,清除fragment,并设定fillfactor为60
ALTER INDEX ALL ON Employee
REBUILD WITH (FILLFACTOR = 60, SORT_IN_TEMPDB = ON,STATISTICS_NORECOMPUTE = ON);--6.查看使用空间:Employee 290 144 KB 88 KB 16 KB 40 KB
sp_spaceused Employee
---不锁表,索引重建
ALTER INDEX ALL ON Tab_Dealer_InteractiveMessage
REORGANIZE
GO
---生成索引重建sql
SELECT distinct
concat('ALTER INDEX ALL ON ', OBJECT_NAME(ind.OBJECT_ID),' REORGANIZE - GO-') AS ReIndex
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats
INNER JOIN sys.indexes ind
ON ind.object_id = indexstats.object_id
AND ind.index_id = indexstats.index_id
WHERE indexstats.avg_fragmentation_in_percent > 30
---查询索引碎片sql
SELECT
concat('ALTER INDEX ALL ON ', OBJECT_NAME(ind.OBJECT_ID),' REORGANIZE - GO-') AS ReIndex,
OBJECT_NAME(ind.OBJECT_ID) AS TableName,
ind.name AS IndexName, indexstats.index_type_desc AS IndexType,
indexstats.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats
INNER JOIN sys.indexes ind
ON ind.object_id = indexstats.object_id
AND ind.index_id = indexstats.index_id
WHERE indexstats.avg_fragmentation_in_percent > 30
ORDER BY indexstats.avg_fragmentation_in_percent DESC
--DBCC SHOWCONTIG('Tab_Dealer_ProductPrice');
如何查看SQL Server的索引碎片情况并进行整理相关推荐
- SQL Server的索引碎片
无论是什么关系型数据库,尤其在OLTP系统中,索引是提升数据访问速度的常用方式之一,但是不同类型的数据库,对索引碎片的处理可能会略有不同. 我们知道,索引碎片多了,意味着可能会扫描更多的数据块.消耗更 ...
- sql server 表索引碎片处理
DBCC SHOWCONTIG (Transact-SQL) SQL Server 2005 其他版本 更新日期: 2007 年 9 月 15 日 显示指定的表或视图的数据和索引的碎片信息. 重要提示 ...
- SQL Server 聚集索引 clustered index 非聚集索引Nonclustered Indexes键查找查找Key Lookup执行计划过程详解
SQL Server 聚集索引非聚集索引键查找过程详解 索引的相关术语 1 堆(Heap)是一种没有指定排序的数据结构,通俗的理解堆就像是按照顺序排放的杂物.在数据库里也即是对应没有聚集索引. 2 聚 ...
- 理解SQL Server中索引的概念,原理以及其他
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...
- T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他(看了两次了,转了)
简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能.但索引可以在大多数情况下大大提升查询性能,在OLAP中尤其明显.要完全理解索 ...
- sql server 群集_设计有效SQL Server群集索引
sql server 群集 In the previous articles of this series (see bottom for a full index), we described, i ...
- 列顺序对SQL Server复合索引的影响
In this article, we will explore the Composite Index SQL Server and the impact of key order on it. W ...
- 理解SQL Server中索引的概念,原理
理解SQL Server中索引的概念,原理 摘自:http://51even.iteye.com/blog/1490412 简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索 ...
- Sql Server 监控 Job 执行情况
由于最近数据库的部分job总是不能十分健康的执行,而监控起来只能登陆db服务器去查看错误日志,维护起来十分麻烦,并且job一般都是比较重要的,比如备份数据库或者清理数据库等等.网站这边,经常由于清理j ...
最新文章
- python实现随机森林、逻辑回归和朴素贝叶斯的新闻文本分类
- python调用dll例子
- linux之账号管理
- Material Design之AppBarLayout总结
- 推荐一本学习生信的好书,新手友好,实战性强
- 【kubernetes系列】Pod篇实战操作
- gulp教程之gulp-imagemin压缩图片
- vue.js java php_听说Java程序员喜欢AngularJS,PHP程序员喜欢Vue.js
- 多Resource文件的相互引用与合并问题及其解决方案
- .net 遍历数组找重复值写入一个新数组_第二轮 Python 刷题笔记一:数组
- 六石管理学:切勿通过扯皮折腾别人,一句你不要管了即可
- java 连接163邮箱_java调用163邮箱发送邮件
- 第4阶段 Mysql数据库
- 支付宝支付开发—当面付条码支付和扫码支付
- python快速排名seo代码_seo评价机制图(python快速排名seo)
- Summary:Fater Rcnn
- 【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现
- ERROR: Failed building wheel for ctcdecode
- java.sql.SQLException: 无效的列类型
- ES6结构赋值,一篇就够
热门文章
- 建筑师妹岛和世为日本西武设计新型旗舰“球形车头”列车
- u盘怎么进入pe系统并修改系统密码
- 第一次使用linux电脑,计算机基础与Linux初次亲密接触第一天(马哥)
- 树莓派控制4路5v继电器开关
- 【转载必读】如何应对美国警察——留学生一定要看
- 记一次 controller manager and scheduler 重复重启问题分析
- 电脑我的世界服务器怎么按键显示,我的世界功能按键大全 操作按键全介绍
- 金三银四跳槽季,java面试突击(100题)进大厂就这么简单
- 惊蛰时节,最好看的微信公众号图文排版,全在这里了
- 这样充满青春活力的微信公众号图文排版,你见过吗?