QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

书评:编写高性能 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:474130
用户头像

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

关注

评论

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

新消费:如何度过从0到1的破局期?

石云升

学习笔记 11月日更 新消费

阿里大牛教你如何用Dubbox+SpringBoot+Docker架构,实现双11项目

编程 程序员 springboot

20道阿里面试必问JVM面试专题(文末附送答案及JVM学习文档)

编程 程序员 JVM

前后端、多语言、跨云部署,全链路追踪到底有多难?

阿里巴巴中间件

阿里云 云原生 中间件 全链路追踪

区块链+农业开启智能化生产时代 解决世界性食品及粮食安全问题

CECBC

布局人工智能,银行有的不只是智能客服

CECBC

Eureka 源码之客户端注册

悟空聊架构

Eureka 源码剖析 注册中心 悟空聊架构

大牛呕心力作——Kafka开发实战,助你徜徉大数据时代

redis 程序员 java编程

云知声 Atlas 超算平台: 基于 Fluid + Alluxio 的计算加速实践

阿里巴巴云原生

阿里云 云原生 实践 Fluid Alluxio

RadonDB ClickHouse on K8s 2.1.0 发布!

RadonDB

数据库 Kubernetes Clickhouse RadonDB

区块链的抽象与演进

CECBC

赋能优秀传统文化,区块链助力讲好中国故事

CECBC

SAP CRM和C4C的内容管理(Content Management)

汪子熙

内容 CRM C4C 11月日更

杂谈—程序人生第一份工作

思想者杰克

程序人生 新手指南 程序

央行数字货币即将破茧,一场大变局,震撼全球!

CECBC

十年数据库专家,呕心力作MySQL技术精粹,薪资直涨3K其实很轻松

数据库 程序员 MySQL 数据库

端开发技术——5个高效的Flutter开发工具

思想者杰克

北鲲云超算平台如何成为就生命科学云计算领域先行者?

北鲲云

模块七作业

Geek_fc100d

「架构实战营」

架构课毕业总结

伏波

架构

如何在实际场景中使用异常检测?阿里云Prometheus智能检测算子来了

阿里巴巴云原生

阿里云 云原生 Prometheus 异常检测

pygame 小游戏前的准备工作要做足

梦想橡皮擦

11月日更

电商秒杀系统

伏波

架构

Bash 脚本简介

码语者

bash Shell

CRM WebClient UI的浏览器打印实现

汪子熙

JavaScript CRM SAP UI5 JavaScript图表库 11月日更

2021年10月云主机性能评测报告

博睿数据

不敢想,做个博客竟如此简单!

程序员鱼皮

博客

面试必备!阿里内部Java面试八股文出炉,教科书式完美回答

Sakura

Java 程序员 架构 面试

软件架构治理 之 架构混沌之谜

码猿外

架构 软件架构治理

【死磕Java并发】-----深入分析synchronized的实现原理

chenssy

死磕 Java 死磕 Java 并发

杂谈——程序人生我的大学

思想者杰克

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