我一直在我们的MS sql数据库上运行一个自动索引工具(我修改了一个源自Microsoft的脚本,它查看了索引统计表–
Automated Auto Indexing).从统计数据中,我现在有一个需要创建的索引的建议列表.
编辑:上面描述的索引从DMV中获取信息,告诉您数据库引擎将用于索引的内容(如果它们可用)并且脚本采用Top x建议(通过搜索,用户影响等)并将它们放在表中.
(以上编辑部分取自Larry Coleman在下面的回答,以澄清脚本正在做什么)
由于我是数据库管理员的新手,并且已经快速搜索了网络,我不愿意采取措施并盲目地添加推荐的索引.但是,由于没有在该领域的经验,我正在寻找一些关于如何确定建议是否必要的建议.
解决方法
我使用
Jason Strate’s index analysis scripts (Old location).它们告诉您现有索引的使用量以及丢失的索引数量.我通常不添加索引,除非它们占表的查询的5%或10%以上.
但最重要的是,它确保应用程序对用户的响应速度足够快.
更新:Jason Strate’s index analysis blog articles for newer scripts (New location)
双重更新:这些天,我在执行索引分析时使用sp_BlitzIndex®.