开始应用程序的时候,你应该能够根据一组合理的规则集合识别许多的索引。当应用程序增长及改变的时候,所以对索引进行检查,以便确保没有忽略更好的索引方案。这需要依据应用程序的使用方式,而不是理论知识。同样,还要确保错误的,重复的,或者没有价值的索引被删除。
这是一项预防的措施,可以保证你的SQL Server不需要管理不需要的索引。在这篇文章中,我们将会给出有关索引建议、索引创建和索引验证的建议。 常用索引字段 许多数据库管理员和开发人员都遇到的一个常见问题,就是与常被推荐的索引传统字段有关。通常的推荐有: 主键 外键 支持select, insert, up&……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
开始应用程序的时候,你应该能够根据一组合理的规则集合识别许多的索引。当应用程序增长及改变的时候,所以对索引进行检查,以便确保没有忽略更好的索引方案。这需要依据应用程序的使用方式,而不是理论知识。同样,还要确保错误的,重复的,或者没有价值的索引被删除。这是一项预防的措施,可以保证你的SQL Server不需要管理不需要的索引。在这篇文章中,我们将会给出有关索引建议、索引创建和索引验证的建议。
常用索引字段
许多数据库管理员和开发人员都遇到的一个常见问题,就是与常被推荐的索引传统字段有关。通常的推荐有:
- 主键
- 外键
- 支持select, insert, update和 delete命令中以下子句的字段:
- INNER join
- RIGHT | LEFT OUTER join
- where
- ORDER BY
- GROUP BY
- HAVING
还有一些额外的关于索引的考虑如下所示:
- 数据量——当数据行数很少的时候,表扫描可以像穿过索引去访问数据一样快,并且比它成本还要低。
- 数据的选择性——当数据选择性较低的时候,例如字段中存有相同数据的时候,索引的价值最低。
- 处理类型——在事务处理系统中,索引应该最小化,以支持尽可能快地插入,与报告系统相比较,以新的方式和不同的方式查询数据可以从扩展的索引中得到好处。
- 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_缺少索引的字段 |
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。