读书频道 > 网站 > 网页设计 > SQL Server性能调优实战
3.2.1 SELECT语句
15-11-02    下载编辑
收藏    我要投稿   

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

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

3.2 使用查询语句

3.2.1 SELECT语句

SELECT语法由以下几个部分组成:

查询的数据来自什么表。

需要查询该表中的哪些属性,即查询该表的什么字段。

查询出符合哪些特定条件的数据,即只过滤出符合条件的数据。

对数据进行排序、汇总等操作。

在编写查询语句之前,应当充分理解编写查询语句的意图,同时还需要了解查询的属性(字段),以及需要查询出哪些符合条件的数据。进一步想想这些被检索出来的数据将有什么用途,是仅供查询?还是需要做一些特殊的汇总计算?只有清楚了解了目的,才能写出更合适的查询语句。

来看个例子。假设需要找到Colorado州对应的Address表中的城市,以及这些城市的地址和邮政编码信息(州信息在StateProvince表中,如代码清单3-1所示),那么应如何编写查询语句呢?

代码清单3-1 查找Colorado州信息

SELECT *
FROM Person.Address AS a
JOIN  Person.StateProvince AS sp
ON a.StateProvinceID = sp.StateProvinceID
WHERE sp.Name='Colorado'

首先可以确定的是,需要查找的是一些地址信息,这些信息在Person.Address表中有记录,所以应在该表中查找,也就是说,From子句后应使用Person.Address表作为查询主表。

在Address表中,关于州的记录都是使用ID来描述的,因此要获得Colorado州的名称,还需要关联州的配置表,也就是Person.StateProvince表中的数据。于是,除了查询Person.Address表以外,还需要关联Person.StateProvince表,以获得州的名称。

进一步思考,需要查询的是Colorado州的数据,因此还要使用WHERE子句对表数据进行过滤。

最终需要查出的是城市名以及城市地址和邮政编码的信息,要达到此目的,可在SELECT关键字后使用“*”来查询出所需的字段信息,因为所有的字段,包括Address表和StateProvince表的字段都可以被查询出来,但是这样的语句是不健壮的,并且存在一定的性能问题或隐患,该语句应该针对需要查询出的字段,显式地罗列在SELECT关键字后面,假设只需要Person.Address表中的AddressLine1字段,则应该为SELECT a.AddressLine1。后续的章节会详细描述这些性能因素的具体原因和影响范围。

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

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