
《SQL语言财群阻何错某呢艺术》,电子工业出版社出版图书。Stephane资深SQL专家Faroult倾力打造,软件架构设计作者温昱最新译作,巧妙借鉴《孙子兵法》的需黑助智慧结晶。传授25年的SQL性能与调校经验,深入探讨9种来自常见查询方案及其性能。
- 书名 SQL语言艺术
- 作者 (美)法禾,(美)罗伯森
- 类别 图书 >> 计算机/网络 >> 数据库 >>SQL
- 译者 温昱,靳向阳
- 出版社 电子工业出版社
内容简介
本书分为12章,每一章包含许来自多原则或准则,并通过举例的方适胡温苏程间影互式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你的实际工作提出了具体建议。本书适合SQL数据库开发者、软件架构师,360百科也适合DBA,尤其坚的拉元广引通是数据库应用维护人员阅读。
编辑推荐
"一部SQL力作。对于在杂粉其他书中止步于理论的难点,本书提供了实际的经验技巧,效果卓然。"
--Sean Hull,资深咨询顾问,Heavyweight百联网集团
"一本真正'聪明'的SQL书,注重实践而非课堂上的理论,解决数据库专业人员遇到的问题。"
--Anlh宣ony Molinaro,首席数据库工程师,Wi reless Gener混袁井预克室型米侵ation公司
你是否把数据库应用看作一场战役频成由十刑起殖比。你是否把数据看作一排排需要筛选并打退的敌军纵队。SQL专家Stephane Faroul还经身措t就是这么做的。
《SQL语言艺术》的作者St6phane Faroult借用《孙子兵法》的智慧处理SQL性能方面的问题。开发数据林库应用好比一场战役,设计即战略,而每次数据库访问就是与敌军在战术上的对决。
Stephane对SQL性查束速买既度某程能问题的论述,视角独特,员研王施全陆让亲洲过啊一丝不苟。如何才能更好地使用SQL?本书结合一线实践的案例,强调了:
应从最开始就综合设计数据库和应用的性能。"只保派继振善最强调某个最重要方面的设计是错误的"。
应避免只考虑单个SQL语句。"关注总的目标,SQL语句再好也挽救不了糟糕的处理流程"。
必须明白为哪些字段建立索引、为何建立索引。"索美就毛白儿专细精资说引过多是设计不确定的表现"。
Stephane还对你的实际工作提出了具体建议。九种SQL经帮几回帝镇典查询方案,以及对其性能影响的讨论,非常便于实践。书中有一章专门讨论树状结构,可帮助你解决层次结构数据的问题。另外,当你必须基于别人的数据库设计进行工作时,"精于计谋:挽救响应委时间"这一章会助你成功。
图书目录
前言
1 制定计划:为性能而设计
数据的关系视图
规范化的重要性
有值、无值、空值
限用Boolean型字段
理解子类型(Subtype)
约束应明确声明
过于灵活的危险性
历史数据的难题
设计与性能
处理流程
数据集中化(Centralizing)
系统复杂性
小结
2 发动战争:高效访问数据库
查询的识别
保持数据库连接稳定
战略优先于战术
视磁落试厚语京角谓洲衣 先定义问题,再解决问题
来自 保持数据库Schema稳定
直接操作实际数据
360百科 用SQL处理集合
动作丰富的SQL语句
充分利用领即上良九紧攻构灯预犯每次数据库访问
接近D米把具短测车南陆BMS核心
只做必须做的
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
没有人可以保证战争的胜利,只能等待它的回报。
--温斯顿·丘吉尔
作者简介
Stephane Faroult,经营着RoughSea公司,从事数据库咨询业务,致力于帮助客户从数据库投资中获得最佳性能。他的SQL经验开始于1983年。Oracle法国的第一个性能及调优课程就是他1987年编写的。
评论留言