深入了解SQL Server中方便的索引技术2010-07-16开始应用程序的时候,你应该能够根据一组合理的规则集合识别许多的索引。当应用程序增长及改变的时候,所以对索引进行检查,以便确保没有忽略更好的索引方案。这需要依据应用程序的使用方式,而不是理论知识。同样,还要确保错误的,重复的,或者没有价值的索引被删除。这是一项预防的措施,可以保证你的SQL Server不需要管理不需要的索引。在这篇文章中,我们将会给出有关索引建议、索引创建和索引验证的建议。常用索引字段许多数据库管理员和开发人员都遇到的一个常见问题,就是与常被推荐的索引传统字段有关。通常的推荐有:主键外键支持select, insert, update和 delete命令中以下子句的字段:INNER joinRIGHT | LEFT OUTER joinwhereORDER BYGROUP BYHAVING还有一些额外的关于索引的考虑如下所示:数据量——当数据行数很少的时候,表扫描可以像穿过索引去访问数据一样快,并且比它成本还要低。数据的选择性——当数据选择性较低的时候,例如字段中存有相同数据的时候,索引的价值最低。处理类型——在事务处理系统中,索引应该最小化,以支持尽可能快地插入,与报告系统相比较,以新的方式和不同的方式查询数据可以从扩展的索引中得到好处。SQL Server 2000 索引中的要与不要Indexing 问答: 回答常见的索引相关问题我如何为我的应用程序确定需要的索引?一旦确定了常用的推荐的索引,就需要开始为你的应用程序决定最佳的索引了。在下面的列表中,SQL Server工具可以帮助你完成这个确定的过程。
ID | 工具 | 目标 | SQL 版本 | 其它资源 |
1 | Profiler | 识别性能糟糕的查询,作为确定潜在索引的方式 | SQL Server 2000 | 跟使用 SQL Server 2005 Profiler踪查询执行结果 |
SQL Server 2005 | SQL Profiler: 特性、功能,以及在 SQL Server 2005中的安装 |
2 | 数据库引擎调整顾问(Database Engine Tuning Advisor) | 分析来自Profiler的数据或者实时提供有益索引或者基于分区 | SQL Server 2005 | Database Engine Tuning Adviser: 任何调整你的新 SQL Server 2005 |
3 | 索引调整向导(Index Tuning Wizard) | 分析来自Profiler 的数据或者实时提供有益索引 | SQL Server 2000 | 使用 Index Tuning Wizard的技巧 |
4 | sys.dm_db_missing _index_columns (动态管理视图:Dynamic Management View) | 识别缺少索引的字段 | SQL Server 2005 | sys.dm_db_缺少索引的字段 |