设为首页 加入收藏

TOP

SQLServer索引维护(1)――系统常见的索引问题(三)
2015-11-21 01:29:39 来源: 作者: 【 】 浏览:1
Tags:SQLServer 索引 维护 系统 常见 问题
E条件中的FirstName列只出现在INCLUDE中 select Title,FirstName,MiddleName,LastName from dbo.Person where FirstName like 'o%'
\

查看执行计划,可以看到走的是索引扫描,因为虽然都是同样的列,但是由于INCLUDE中出现的列通常仅用于协助SELECT而不是协助WHERE,所以没有起到我们期望的作用。

?

从上面的演示中我们看到,虽然类似,但是如果设计不合理,同样会造成索引问题,读者可以自行测试包含索引中,SELECT的列出现在INCLUDE中,而WHERE的列出现在INCLUDE前的效果,可以看到这次这个包含索引就满足我们的期望了。并且你可以测试,INCLUDE中的列顺序可以和SELECT中的不一致,在本例中不影响效果。

总结:

由于索引是非常大和非常高深的话题,本人读过一本600页的全英的关于SQL Server索引的书籍,密密麻麻的600页却还没有完全解答我的疑问,所以这里我过滤了很多细节问题,把讨论和演示集中在我希望表达的主题上。下一篇文章将演示对这些索引问题的处理手段。

另外需要提醒的是,一个系统的索引问题不可能只有这么三类,但是基于实操出发,把最近个人工作过程中发现的问题整理分享,在后续过程中会不断完善这个话题。广告时间:更多信息可以阅读本人出版的书籍《SQL Server 性能优化与管理的艺术》。

下一篇文章: SQL Server 索引维护(1)——如何获取索引使用情况

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL Server 利用锁提示优化Row_nu.. 下一篇SQL中删除同一字段中重复的值

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: