如何解释sp_spaceused命令关于索引的结果
如果我需要查看超过2000个表的索引,我从哪里开始给出sp_spaceused命令中的信息?
我正在调查表上的索引,但是当我在SQL中执行sp_spaceused存储过程时,我不太确定如何为IndexSize生成结果。
首先,我可以使用IndexSize和DataSize之间的比率来调用索引是否最佳?例如,如果我的表的DataSize是31 261 768KB而IndexSize是41 682 120KB,我将indexSize / DataSize * 100除以得到133的比率。我正在做的是什么?
如果是正确的,IndexSize比率是否超过100%?
那么一个好比例会是什么?
谢谢,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我需要添加更多信息。
该应用程序是Microsoft Dynamics Ax 4.0。虽然开发人员可以添加新索引,但系统索引无法删除。
我们目前处于这样的情况:有许多自定义索引不会添加任何值(空白字段上的索引,金额字段上的索引等)。我正在调查那些作为代码清理过程的一部分。
但是因为有数千个表需要解决,所以我需要一个起点。我首先要关注的是识别不会增加价值的自定义索引,为此我想到了使用sp_spaceused过程。
没有找到相关结果
已邀请:
3 个回复
破弯
要全面了解在整个监视期间未使用的所有索引,可以运行以下查询:
您还可以识别使用索引搜索过滤数据的查询:
以下将显示从SQL Server DMV透视图中按平均逻辑读取排序的10个最昂贵的查询:
您还需要查看其他参数,例如执行计数(执行查询的次数)。 如果您想概述运行时间超过1000毫秒的AX查询,可以运行以下查询:
希望有所帮助。
苏髓骗撩
s,很多
,某些组合?)和表格的构成。 不幸的是,没有简单的答案。索引是数据库设计中最复杂的方面之一。 我建议你做一些阅读。 查看Kimberly Tripp的博客。 她在MS工作了很长一段时间,她的丈夫(Paul Randall)在SQL Server 2005中编写了DBCC程序。 Gail Shaw在她的博客中也有一些好文章。
脾萌
将帮助识别未使用的索引。 有一个与BOL索引相关的DMV列表。 http://msdn.microsoft.com/en-us/library/ms187974%28v=SQL.90%29.aspx