读书频道 > 网站 > 网页设计 > SQL Server性能调优实战
3.7.2 合理利用索引
15-11-02    下载编辑
收藏    我要投稿   

本文所属图书 > SQL Server性能调优实战

本书是一线DBA技术专家精心之作,积作者多年的经验结晶和最佳实践,也是目前市场上为数不多通过存储原理来讲解性能优化,剖析SQL Server架构,从而帮助读者快速高效调优数据库的图书。书中首先简要介绍了SQL S立即去当当网订购

一个高效的查询语句,通常都会以定位(SEEK)的方式检索某个或若干个覆盖索引,查找数据。所谓覆盖索引,顾名思义,就是说,这个索引包含了当前查询语句使用的所有字段的信息。索引也包含了不同的分类,不同类型的索引会涉及一些特殊的结构和隐含的功能,后面的章节中会介绍这些特殊的结构,这将有助于我们更好地定义最佳的覆盖索引。

在编写一个SQL语句时,要遵循如下这样一个流程:

首先得明白需要“做什么”,也就是要明确应从什么表中取出什么样的数据。

接下来要清楚“怎么做”,即应该用哪些字段来过滤,哪些字段要有索引,索引又该如何分布,怎样取才能更合理地应用索引等。

最后还需要确定查询出来的数据是否正确,符合需求与否。

也就是说,使用索引前,应该先了解具体的需求,并且要清楚查找的表的索引字段之具体信息,包括索引的类型(即是唯一索引、聚集索引还是非聚集索引)、筛选率及数据分布情况等,从而确定应该如何编写查询语句。

以代码清单3-1的语句为例,若创建的索引发生了变化,索引创建脚本将成为如下形式:

CREATE INDEX IX_SalesOrderDetail_ProductId
ON Sales.SalesOrderDetail(ProductID)

运行代码,会发现Clustered Index Scan的操作变成了Index Seek(见图3-5),并且数据查找操作的成本开销,由原来的87%变成了13%,同时整体的I/O开销和执行时间也获得了很大的提升。这就是索引的效果,在后面的章节中,将详细地介绍索引的工作原理及如何创建合理的索引。


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站