编写tsql查询时学习索引优化的最佳实用方法是什么?我有VS2008 SQL Express。有人可以提供我的例子等?我已经发现了在线文章,理论上它们都很棒,但是我仍然没有看到现实生活中的索引调整行为。在那里创建例子很容易吗?我如何学习SQL Server索引调整?
回答
为了调整索引,你往往需要大量的数据表,所以很少有简单的例子。
我的经验是使用SQL 2000工具。查询分析器,显示执行计划并查看使用的索引和连接的类型。这里很难描述它。
我可以在主题推荐一本好书,尤其是第9章
http://www.amazon.com/Professional-Server-Performance-Tuning-Programmer/dp/0470176393
,直到你明白怎么自己做手工,我会使用自动索引优化工具阻止你。我认为这很重要,因为它建议增加一个索引,使您能够理智地检查建议并自行决定是否是一个好选择。通常,它会建议您添加一个包含多列的“覆盖”索引,以加快请求分析的单个查询速度,但是当您查看针对该表的所有查询时,这可能会对整个数据库产生不利影响。
如果您有SQL Developer版本,那么您需要查看数据库引擎优化顾问。
如果您使用分析器来针对数据库捕获标准工作负载,DETA可以推荐您可以应用哪些统计信息和索引。
要小心,虽然这种调整需要很多思想,因为添加新索引可能会增加工作负载的速度,但是您可能会增加一个不重要的查询的速度,而这对于一个非常重要的查询是不利的。
有一本关于TSQL查询的好书,它有关于查询如何工作的一些很好的建议,以及如何调整它们,这是MSSQL特有的。
在SQL Server中,如果您的数据库模式更简单,您并不需要调整太多,因为主键会自动生成聚簇索引,并且外键约束需要唯一的索引。 所以你的加入通常会得到照顾。
从哪里得到棘手的是应用程序中的查询使用的搜索和过滤器。您将不得不专门查看这些查询并确定其他索引的候选人。
另一种选择是SQL Server Tuning Advisor,但我劝阻它的使用,因为它会产生很多噪音。不过,您可以使用它来查找最糟糕的查询。
有关确定表现最差的查询的起点,请参阅我的回答here。
学习如何调整是需要练习的。如果你想成为熟练的它,通过购买Sajal大坝的书开始SQL Server Query Performance Tuning Distilled
金佰利旅行(SQL女神)是一个专家,他谈到&撰写了大量关于这个问题:
http://www.sqlskills.com/BLOGS/KIMBERLY/category/Indexes.aspx
肯英格兰Microsoft SQL Server 2000 Performance Optimization and Tuning Handbook是一个经典。 (亚马逊评论说这本书的2005版本不太好)
- 1. 如何学习MS SQL Server 2005?
- 2. 我如何签署SQL Server索引
- 3. 如何学习调试?
- 4. SQL Server索引
- 5. SQL Server索引
- 6. SQL Server索引
- 7. 学习SQL Server 2008和存储过程
- 8. SQL Server 2005 DBA学习资源
- 9. 寻找资源学习SQL Server
- 10. 努力学习SQL Server中的sp_executesql
- 11. 我如何学习Oracle JDeveloper?
- 12. 我如何学习Mirah?
- 13. 我想从头开始学习wordpress。我如何学习?
- 14. 学习LINQ到SQL
- 15. 学习资源transerfer我的MS SQL Server的知识到MySQL
- 16. 学习SQL分析服务
- 17. SQL Server索引如何工作
- 18. 如何显示SQL Server表索引?
- 19. SQL Server全文索引如何增长?
- 20. 索引如何帮助加入SQL Server
- 21. 我如何学习MySql版本?
- 22. 如何使用MOE调整机器学习超参数?
- 23. SQL学习/ MAX Understanging
- 24. 试图学习SQL
- 25. SQL Server聚集索引 - 索引问题
- 26. 我想学习如何组成图像
- 27. SQL Server:如何防止索引现有数据的新索引
- 28. 如何调整Eclipse的C++索引器?
- 29. 我如何估计SQL Server索引大小
- 30. 如何学习Zend
这本好书的名字是什么? – Svish 2009-05-14 11:38:37
http://www.amazon.com/Inside-Microsoft-SQL-Server-2005/dp/0735623139/ref=sr_1_1?ie=UTF8&s=books&qid=1242338708&sr=8-1 Inside MIcrosoft SQl Server:T-SQL查询。 我想现在2008年可能会更合适。 – Spence 2009-05-14 22:06:14