网上Unused Index Script 脚本的问题
曾经使用过网上下载的脚本查询没有使用过的Index比方SQL
SERVER – 2008 – Unused Index Script – Download,事实上如今看起来这个脚本是有一些问题。
脚本例如以下:
-- UnusedIndex Script
-- Original Author:Pinal Dave (C) 2011
SELECT TOP 25
o.name
AS ObjectName
, i.nameAS IndexName
, i.index_idAS IndexID
, dm_ius.user_seeksAS UserSeek
, dm_ius.user_scansAS UserScans
, dm_ius.user_lookupsAS UserLookups
, dm_ius.user_updatesAS UserUpdates
, p.TableRows
, 'DROP INDEX '+
QUOTENAME(i.name)
+ ' ON '+
QUOTENAME(s.name)+
'.' +
QUOTENAME(OBJECT_NAME(dm_ius.OBJECT_ID))AS
'drop statement'
FROM sys.dm_db_index_usage_statsdm_ius
INNER JOINsys.indexes iON i.index_id
= dm_ius.index_id
AND dm_ius.OBJECT_ID= i.OBJECT_ID
INNER JOINsys.objects oON dm_ius.OBJECT_ID=
o.OBJECT_ID
INNER JOINsys.schemas sON o.schema_id=
s.schema_id
INNER JOIN(SELECTSUM(p.rows)
TableRows, p.index_id, p.OBJECT_ID
FROM sys.partitions pGROUP
BY p.index_id, p.OBJECT_ID) p
ON p.index_id= dm_ius.index_idAND dm_ius.OBJECT_ID=
p.OBJECT_ID
WHERE
OBJECTPROPERTY(dm_ius.OBJECT_ID,'IsUserTable')=
1
AND dm_ius.database_id=
DB_ID()
AND i.type_desc=
'nonclustered'
AND i.is_primary_key= 0
AND i.is_unique_constraint= 0
ORDER BY(dm_ius.user_seeks+ dm_ius.user_scans+
dm_ius.user_lookups)ASC
GO
本脚本通过查询sys.dm_db_index_usage_stats获得索引的使用情况。可是假设索引没有被使用是不会出如今sys.dm_db_index_usage_stats中的。
仅仅有索引被第一次被使用才会在sys.dm_db_index_usage_stats中插入一条记录,之后索引被訪问的信息会累积更新到这张表里。假设使用INNSER
JOIN连接就忽略掉了这部分的数据。
当然索引被创建一次都没有使用的情况会很少。
网上Unused Index Script 脚本的问题的更多相关文章
- 在html中添加script脚本的方法和注意事项
在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script& ...
- C#用正则表达式去掉Html中的script脚本和html标签
原文 C#用正则表达式去掉Html中的script脚本和html标签 /// <summary> /// 用正则表达式去掉Html中的script脚本和html标签 ...
- 使用PrintWriter out=response.getWriter();输出script脚本时乱码解决
使用PrintWriter out=response.getWriter();输出script脚本时乱码解决 最近遇到了一个奇怪的事情,仅仅用out.print("<script ty ...
- 使用lucene query的CharFilter 去掉字符中的script脚本和html标签
1.准备数据,这里我从数据库读取一个带有html标签和script脚本的数据
- 015-elasticsearch5.4.3【五】-搜索API【四】Joining 多文档查询、GEO查询、moreLikeThisQuery、script脚本查询、span跨度查询
一.Joining 多文档查询 joining query 像Elasticsearch这样的分布式系统中执行完整的SQL样式连接非常昂贵.相反,Elasticsearch提供两种形式的连接,旨在水平 ...
- node Cheerio 获取script脚本里的数据
const cheerio = require('cheerio'); const $ = cheerio.load(html); // your html//如果有多少script脚本标签使用循环来 ...
- 使用jQuery加载script脚本
原文链接: Loading Scripts with jQuery JavaScript loaders加载器简单强大而又非常有用.我在博客上介绍过其中一些,例如 curljs 和 LABjs ,也 ...
- Redis 的Lua Script脚本功能
从 Redis 2.6.0 版本开始,通过内置的 Lua 解释器,可以使用 EVAL 命令对 Lua 脚本进行求值 Redis2.6内置的Lua Script支持,可以在Redis的Server端一次 ...
- (五)CodeMirror - 关于htmlmixed中包含script脚本
最近发现个问题,场景如下: 当创建的mode类型为htmlmixed,且内容中包含javascript脚本,且是闭包立即执行: 如果内容是使用JQuery函数.html()插入到DOM中后再创建cod ...
随机推荐
- day23-2 __call__、__str__和__del__
目录 __call__ __str__ __del__ __call__ 对象后面加括号调用时,会自动触发执行 注:构造方法的执行是由创建对象触发的,即:对象=类名();而对于__call__方法的执 ...
- badblocks - 查询设备的坏区块
语法(SYNPSIS) badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o outp ...
- vue2.0学习——使用webstorm创建一个vue项目
https://blog.csdn.net/weixin_40877388/article/details/80911934
- windows sdk编程为应用程序添加图标
#include <windows.h> /*消息处理函数声明*/ HRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM ...
- Vue+Bootstrap实现购物车程序(1)
先看下案例效果:(简单的数量控制及价格运算) 代码: <!DOCTYPE html> <html> <head lang="en"> <m ...
- forEach的使用方法
[-] 1 js 数组循环遍历 2 forEach 函数 3 让IE兼容forEach方法 4 如何跳出循环 1. js 数组循环遍历. 数组循环变量,最先想到的就是 for(var i= ...
- [Luogu] P2817 宋荣子的城堡
题目描述 saruka有一座大大的城堡!城堡里面有n个房间,每个房间上面都写着一个数字p[i].有一天,saruka邀请他的小伙伴LYL和MagHSK来城堡里玩耍(为什么没有妹子),他们约定,如果某一 ...
- 笔试算法题(51):简介 - 红黑树(RedBlack Tree)
红黑树(Red-Black Tree) 红黑树是一种BST,但是每个节点上增加一个存储位表示该节点的颜色(R或者B):通过对任何一条从root到leaf的路径上节点着色方式的显示,红黑树确保所有路径的 ...
- 在SpringBoot框架中使用拦截器
1.继承WebMvcConfigureAdapter类,覆盖其addInterceptors接口,注册我们自定义的拦截器 package com.eth.wallet.config; import c ...
- mac apache 配置
mac系统自带apache这无疑给广大的开发朋友提供了便利,接下来是针对其中的一些说明 一.自带apache相关命令 1. sudo apachectl start 启动服务,需要权限,就是你计算机的 ...