sql - 如何学习 SQL Server 索引调优?

标签 sql sql-server tsql indexing performance

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

4年前关闭。




Improve this question




在编写 tsql 查询时学习索引调优的最佳实用方法是什么?我有 VS2008 SQL Express。有人可以为我提供示例等吗?我已经在网上找到了一些文章,它们在理论上很棒,但在现实生活中我仍然看不到索引调整。有没有容易创建的小例子?

最佳答案

要调整索引,您往往需要包含大量数据的大表,因此不容易获得小的简单示例。

我的经验是使用 SQL 2000 工具。查询分析器,显示执行计划并查看使用的索引和连接的类型。在这里很难描述。

我可以推荐一本关于这个主题的好书,尤其是第 9 章。

http://www.amazon.com/Professional-Server-Performance-Tuning-Programmer/dp/0470176393

在您了解如何自己手动完成之前,我不鼓励您使用自动索引调整工具。我认为当它建议添加一个索引时很重要,你有能力检查建议并自己决定它是否是一个好的选择。通常,它会建议您添加一个包含许多列的“覆盖”索引,以加快您要求分析的单个查询的速度,但是当您查看针对该表的所有查询时,这可能会对整个数据库产生不利影响。

关于sql - 如何学习 SQL Server 索引调优?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604879/

相关文章:

sql - Oracle APEX : Error: SyntaxError: Unexpected end of JSON input

php - 与 MysQL DATEDIFF 函数不一致

sql - 如何在 NiFi 中映射流文件中的列数据?

.net - SQL Service Broker 和 .NET Windows 服务 - 最佳实践?

sql-server-2005 - 将选择语句包含在事务中有什么意义?

c# - 在 C# 中解析 SQL 字符串

tsql - Pyspark 中的多个 WHEN 条件实现

php - mysql缓存和memcached的区别

MySQL:按查询获取组中的最新值

sql - 左连接,但仅使用记录一次