1

我指的是未使用的索引脚本博客。

我知道如果Seek = 0, Scan = 0, Lookup = 0,User Update = 0那么我们应该删除索引,因为它不需要。

未使用的脚本给了我很多索引,但我应该删除所有这些索引吗?您能否帮助我理解从给定脚本中识别实际未使用的索引。

在删除之前,我想知道UserSeek, UserScans, UserLookups,列之间的重要性。UserUpdates

未使用的索引脚本 - 单击此处

4

1 回答 1

1

seeks和是scanslookups利于查询性能的读操作。是updates插入或更新索引。这些更新被认为是索引的负面影响。

索引黑魔法中的第一条也是唯一一条规则是:在更改索引之前备份它们。只需编写脚本并将它们保存以备后用。请务必注明文件的日期,以便您可以关联任何数据库性能下降。

有几点要理解:

  1. 您引用的列(UserSeek 等)来自 MSSQL DMV(动态管理视图)。这些指标是短暂的,这意味着每次重新启动服务(例如服务器重新启动)时都会重置它们。所以请记住,搜索、扫描等不会反映历史活动。
  2. 甚至一个索引有很多更新和很少的有益操作——有益的操作可能非常重要。他们(例如)可能负责进行一个查询,否则该查询将在大约一秒钟内执行一个小时。
  3. 即使您在几个月内没有在索引上看到有益的活动,它仍可能被使用该软件的软件的一些很少访问的部分使用——例如某种每月或每年的维护。

因此,再次备份索引,然后再删除任何内容。

于 2020-02-17T01:29:09.320 回答