第十章——维护索引(6)——查找无用索引
来源:互联网 发布:三维软件solidworks 编辑:程序博客网 时间:2024/06/11 19:08
前言:
众所周知,索引对性能的提升有巨大作用。但是这是有代价的,索引需要磁盘空间来存放它的B-Tree,并且用于在每次DML执行后更新信息,所以应该在一定时期内检查有无无用索引。
准备工作:
记住别在重启服务器之后进行信息收集,因为DMO将会清空,而数据会非常不准确甚至是错误的。所以应该在运行了一段时间后(业务周期)再做收集。
业务周期根据实际情况而定。一些表和查询会每天频繁使用,但是一些类似报表功能可能是一月甚至一年执行一次,所以,除非必要,不然就让所有东西一直运行,知道你的业务周期完毕。这样会得到相对准确的信息。
步骤:
执行以下语句:
分析:
为了获得索引名、索引类型、表名,有必要关联sys.Indexes和sys.objects表。
通常情况下,当一个索引被使用了,那么在sys.dm_db_index_usage_stats上的user_seek、user_scan、或者user_lookup列上会有一些值。如果索引从来未被使用,那么这些值就为0,也就是没必要保留。
扩充信息:
在决定索引是否有效时,还需要结合你的专业只是。有些索引之所以没有统计数据是因为还没有到使用的周期,或者周期性地重启了服务器,在删除之前,要考虑:
1、 是否为主键或者唯一键,因为及时这部分没有数值,但是它们还是可以很好地保证数据的一致性。
2、 唯一索引帮助优化器创建更有效的执行计划,及时这些索引未被使用,但是也提供了数据分布的相关信息。
原文:http://blog.csdn.net/dba_huangzj/article/details/8937070
0 0
- 第十章——维护索引(6)——查找无用索引
- 第十章——维护索引(6)——查找无用索引
- 第十章——维护索引(5)——查找丢失索引
- 第十章——维护索引(5)——查找丢失索引
- 第十章——维护索引(1)——索引碎片
- 第十章——维护索引(3)——通过重建索引提高性能
- 第十章——维护索引(4)——通过重组索引提高性能
- 第十章——维护索引(7)——使用索引视图提高性能
- 第十章——维护索引(9)——监控索引消耗的空间
- 第十章——维护索引(8)——在计算列中创建索引提高性能
- 第十章——维护索引(2)——填充因子
- MongoDB—索引的建立与维护
- 查找——线性索引查找
- SQL Server 索引维护(1)——系统常见的索引问题
- SQL Server 索引维护(1)——如何获取索引使用情况
- SQL Server 索引维护(1)——系统常见的索引问题
- SQL Server 索引维护(1)—如何获取索引使用情况
- 数据结构之查找(四)——线性索引查找
- spring依赖注入
- 离散时间控制系统(2)
- ComboBox->SetCurSel()函数
- C++ 全排列函数 std::next_permutation与std::prev_permutation
- Java删除文件夹内的所有内容
- 第十章——维护索引(6)——查找无用索引
- LeetCode--Merge Two Sorted Lists
- 【Jboss】在jboss上部署web应用
- kafka 配置部署
- Storm原理详解
- bootstrap笔记
- 《剑指Offer》读书笔记02:替换空格
- Git学习笔记之<撤销操作>
- First Blood