SQL语言艺术作者: (美)法禾,(美)罗伯森著,温昱,靳向阳译
出 版 社:电子工业出版社
出版时间: 2008-3-1
字数: 450000
版次: 1
页数: 349
开本: 16开
印次: 1
纸张: 胶版纸
I S B N : 9787121058349
包装: 平装
所属分类: 图书 >> 计算机/网络 >> 数据库 >>SQL
定价:¥58.00
编辑推荐资深SQL专家Stephane Faroult倾力打造,软件架构设计》作者温昱最新译作,巧妙借鉴《孙子兵法》的智慧结晶。传授25年的SQL性能与调校经验,深入探讨9种常见查询方案及其性能。
“一部SQL力作。对于在其他书中止步于理论的难点,本书提供了实际的经验技巧,效果卓然。”
——Sean Hull,资深咨询顾问,Heavyweight百联网集团
“一本真正‘聪明’的SQL书,注重实践而非课堂上的理论,解决数据库专业人员遇到的问题。”
——Anlhony Molinaro,首席数据库工程师,Wi reless Generation公司
你是否把数据库应用看作一场战役?你是否把数据看作一排排需要筛选并打退的敌军纵队?SQL专家Stephane Faroult就是这么做的。
《SQL语言艺术》的作者St6phane Faroult借用《孙子兵法》的智慧处理SQL性能方面的问题。开发数据库应用好比一场战役,设计即战略,而每次数据库访问就是与敌军在战术上的对决。
Stephane对SQL性能问题的论述,视角独特,一丝不苟。如何才能更好地使用SQL?本书结合一线实践的案例,强调了:
应从最开始就综合设计数据库和应用的性能。“只强调某个最重要方面的设计是错误的”。
应避免只考虑单个SQL语句。“关注总的目标,SQL语句再好也挽救不了糟糕的处理流程”。
必须明白为哪些字段建立索引、为何建立索引。“索引过多是设计不确定的表现”。
Stephane还对你的实际工作提出了具体建议。九种SQL经典查询方案,以及对其性能影响的讨论,非常便于实践。书中有一章专门讨论树状结构,可帮助你解决层次结构数据的问题。另外,当你必须基于别人的数据库设计进行工作时,“精于计谋:挽救响应时间”这一章会助你成功。
内容简介本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你的实际工作提出了具体建议。本书适合SQL数据库开发者、软件架构师,也适合DBA,尤其是数据库应用维护人员阅读。
作者简介Stephane Faroult,经营着RoughSea公司,从事数据库咨询业务,致力于帮助客户从数据库投资中获得最佳性能。他的SQL经验开始于1983年。Oracle法国的第一个性能及调优课程就是他1987年编写的。
目录前言
1 制定计划:为性能而设计
数据的关系视图
规范化的重要性
有值、无值、空值
限用Boolean型字段
理解子类型(Subtype)
约束应明确声明
过于灵活的危险性
历史数据的难题
设计与性能
处理流程
数据集中化(Centralizing)
系统复杂性
小结
2 发动战争:高效访问数据库
查询的识别
保持数据库连接稳定
战略优先于战术
先定义问题,再解决问题
保持数据库Schema稳定
直接操作实际数据
用SQL处理集合
动作丰富的SQL语句
充分利用每次数据库访问
接近DBMS核心
只做必须做的
sQL语句反映业务逻辑
把逻辑放到查询中
一次完成多个更新
慎用自定义函数
简洁的SQL
SQL的进攻式编程
精明地使用异常(Exceptions)
3 战术部署:建立索引
找到“切入点”
索引与目录
让索引发挥作用
函数和类型转换对索引的影响
索引与外键
同一字段,多个索引
系统生成键
索引访问的不同特点
4 机动灵活:思考SQL语句
SQL的本质
掌握SQL艺术的五大要素
过滤
5 了如指掌:理解物理实现
物理结构的类型
冲突的目标
把索引当成数据仓库
记录强制排序
数据自动分组(Grouping)
分区是双刃剑
分区与数据分布
数据分区的最佳方法
预连接表
神圣的简单性
6 锦囊妙计:认识经典SQL模式
小结果集,直接条件
小结果集,间接条件
多个宽泛条件的交集
多个间接宽泛条件的交集
大结果集
基于一个表的自连接
通过聚合获得结果集
基于日期的简单搜索或范围搜索
结果集和别的数据存在与否有关
7 变换战术:处理层次结构
小结果集,直接条件
小结果集,间接条件
多个宽泛条件的交集
多个间接宽泛条件的交集
大结果集
基于一个表的自连接
通过聚合获得结果集
基于日期的简单搜索或范围搜索
结果集和别的数据存在与否有关
8 孰优孰劣:认识困难,处理困难
看似高效的查询条件
抽象层
分布式系统
动态定义的搜索条件
9 多条战线:处理并发
数据库引擎作为服务提供者
并发修改数据
10 集中兵力:应付大数据量
增长的数据量
数据仓库
11 精于计谋:挽救响应时间
数据的行列转换
基于变量列表的查询
基于范围的聚合
一般规则,最后使用
查询与列表中多个项目相符的记录
最佳匹配查询
优化器指令
12 明察秋毫:监控性能
数据库速度缓慢
服务器负载因素
何谓“性能优良”
从业务任务角度思考
执行计划
合理运用执行计划
总结:影响性能的重要因素
Photo Credits
索引
媒体评论体悟战争箴言,精通SQL兵法:
在所有战争中,显示军事才华的第一步是战略规划。
——Joseph de Maistre
战争中有一些基本的原则,无视这些原则非常危险,而遵循这些原则就可能胜利。
——General Antoine-Henri de Jomini
无论谁想运筹帷幄,都要遵循罗马的战略战术:首先是速决战。
——Niccolo Machiavelli
没有人可以保证战争的胜利,只能等待它的回报。
——温斯顿·丘吉尔