写点什么

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

  • 2009-03-23
  • 本文字数:694 字

    阅读完需:约 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

2009-03-23 00:474178
用户头像

发布了 88 篇内容, 共 268.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

支付宝 App 构建优化解析:Android 包大小极致压缩,android界面开发实验报告

android 程序员 移动开发

数据结构与算法回顾-1:算法的度量和基本数据结构,近期有面试的必看

android 程序员 移动开发

有效治理 BadTokenException,flutter安装androidsdk

android 程序员 移动开发

数据结构算法---红黑树,这可能是我看过红黑树讲的最好的文章。

android 程序员 移动开发

本来只想试试水,没想到5面后还真进了字节!,Android程序员如何通过跳槽薪资翻倍

android 程序员 移动开发

横向对比Jetpack、RxJava、Glide框架中对组件生命周期Lifecycle感知原理

android 程序员 移动开发

新手必看,避免踩雷---一篇文带你吃透Android开发的所有必备考点,轻松拿offer

android 程序员 移动开发

模板方法模式,flutter刷新机制

android 程序员 移动开发

揭秘:如何化身BAT面试offer收割机?,androidapp内存优化

android 程序员 移动开发

是让人-提神醒脑-的-MVP、MVVM-关系精讲!,2021最新Android开发面试解答

android 程序员 移动开发

最新Android面试题整理,移动端h5页面适配

android 程序员 移动开发

有幸在GitHub上get到标星11k的面试笔记,让我成功入职美团Android开发岗

android 程序员 移动开发

数据结构(一), BST 二叉搜索树,高级程序员面试题

android 程序员 移动开发

新来的小师妹问我:哥,有哪些是新手程序员不知道的小技巧

android 程序员 移动开发

最新阿里P7技术体系,Android开发突破50W年薪,kotlin匿名内部类this

android 程序员 移动开发

月薪60k,仍无人问津,腾讯阿里到底有多缺这类程序员,Android软件开发面试题

android 程序员 移动开发

某Android程序员哀叹:自己薪资远远超过了能力,想跳槽又怕外面接不住

android 程序员 移动开发

搞Android开发为什么这么难?想哭了!,vue双向绑定

android 程序员 移动开发

支付宝 App 构建优化解析:Android 包大小极致压缩(1),阿里P8亲自讲解

android 程序员 移动开发

文件数据储存之内部储存,移动端开发技术创新

android 程序员 移动开发

最新字节跳动技术五面(刚拿Offer):一面,androidrom开发面试题

android 程序员 移动开发

本想着只是蹭一蹭,没想到真的进去了,flutter下拉刷新样式

android 程序员 移动开发

揭秘!大厂招聘内幕!如何才能进大厂,Android技术类校招面试题汇总

android 程序员 移动开发

正则表达式基础,记得把每一次面试当做经验积累

android 程序员 移动开发

数据结构(一), BST 二叉搜索树(1),app可视化开发工具

android 程序员 移动开发

新鲜出炉的Android“面筋”,kotlininline函数

android 程序员 移动开发

普通Android码农,该如何逆袭月薪-5W-的移动端架构师?

android 程序员 移动开发

最新字节跳动技术五面(刚拿Offer):一面(1),高级UI都没弄明白凭什么拿高薪

android 程序员 移动开发

未来 Android 开发的从业方向,android开发的基础知识

android 程序员 移动开发

某一线互联网大厂内部超高质量Flutter+Kotlin笔记!技术与实战篇

android 程序员 移动开发

毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者!(1)

android 程序员 移动开发

书评:编写高性能SQL代码的艺术_.NET_Jonathan Allen_InfoQ精选文章