BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

书评:编写高性能SQL代码的艺术

| 作者 Jonathan Allen 关注 530 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年3月24日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

查看SQL Server查询的执行计划是一回事,而明白它们的含义却是另一回事。Grant Fritchey的书:编写高性能SQL代码的艺术的第一部分就详述了SQL Server的执行计划,这对你会很有帮助。

本书首先概览了执行计划。大多数同类书籍的第一章尽是些没用的东西,而本书则不然,它一开始就介绍了何时会重新编译执行计划、为何一些查询有两个执行计划等等。

第二章非常有价值。你会发现hash map join与nested loop join的区别,同时也可以判定出哪个更好一些。但这都不是完全绝对的:某些操作对于大表表现的很棒,然而对于小表就不那么让人满意了,反之亦然。与此同时,本章还就为何某些操作可能会引起查询或表设计上的一些问题给出了很多建议。

第三章谈到了如何读取基于文本和XML的执行计划。如果不喜欢一上来就看到这么多的XML,你可以跳过这章。接下来的一章解释了执行计划,这次谈到了更复杂的一些内容,如Common Table Expressions。

对query hint使用不当可能会导致很严重的后果,但它们也可以解决优化器的bug所导致的性能问题。因此我推荐每个人都来读一下Fritchey的书中关于query hint这一章。尽管大多数开发者不会使用到它们,但了解一下终究是有好处的。

本书的其他部分涵盖了一些高级主题,如游标、XML查询、parallelism及计划指南(plan guides)。计划指南是个好东西,凭借它你可以在存储过程(你可以修改存储过程,也可以ad-hock应用创建的查询)中使用query hint。

可以在这里免费下载编写高性能SQL代码的艺术这本书,也可以从SQL Server Central上购买。Red Gate还在大会上给出了该书的打印版。

查看英文原文:Review: The Art of High Performance SQL Code

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT