SQL语言艺术

当前位置:首页 > 网络编程 > 数据库 > SQL语言艺术

出版社:电子工业出版社
出版日期:2008-1
ISBN:9787121058349
作者:[美] StéphaneFaroult,P
页数:349页

编辑推荐

  资深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经典查询方案,以及对其性能影响的讨论,非常便于实践。书中有一章专门讨论树状结构,可帮助你解决层次结构数据的问题。另外,当你必须基于别人的数据库设计进行工作时,“精于计谋:挽救响应时间”这一章会助你成功。

书籍目录

前言
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
索引

内容概要

Stéphane Faroult从1983年开始接触关系数据库。Oracle法国成立早期他即加入(此前是短暂的IBM经历和渥太华大学任教生涯),并在不久之后对性能和调优产生了兴趣。1988年他离开了Oracle,此后一年间,他进行调整,并研究过运筹学。之后,他重操旧业,一直从事数据库咨询工作,并于1998年创办了RoughSea公司(http://www. roughsea.com)。
Stéphane Faroult出版了Fortran Structuré et Méthodes Numériques一书(法语,Dunod出版社,1986, 与Didier Simon合作),并在Oracle Scene和Select(分别为英国和北美Oracle用户组杂志)以及Oracle杂志在线版上发表了许多文章。他还是美国、英国、挪威等众多用户组大会的演讲者。
Peter Robson毕业于达拉谟大学地质专业(1968年),然后在爱丁堡大学任教,并于1975年获得地质学研究型硕士学位。在希腊度过了一段地质学家生涯之后,他开始在纽卡斯尔大学专攻地质和医学数据库。
他使用数据库始于1977年,1981年开始使用关系数据库,1985年开始使用Oracle,这期间担任过开发工程师、数据架构师、数据库管理员等角色。1980年,Peter参加了英国地质普查,负责指导使用关系数据库管理系统。他擅长SQL系统,以及从组织级到部门级的数据建模。Peter多次出席英国、欧洲、北美的Oracle数据库大会,在许多数据库专业杂志上发表过文章。他现任英国Oracle用户组委员会主任,可通过peter.robson@justsql.com联系他。

作者简介

资深 SQL 专家 Stéphane Faroult倾力打造
《软件架构设计》作者温昱最新译作
巧妙借鉴《孙子兵法》的智慧结晶
传授25年的SQL性能与调校经验
深入探讨九种常见查询方案及其性能
本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你的实际工作提出了具体建议。本书适合SQL数据库开发者、软件架构师,也适合DBA,尤其是数据库应用维护人员阅读。

媒体关注与评论

  体悟战争箴言,精通SQL兵法:  在所有战争中,显示军事才华的第一步是战略规划。  ——Joseph de Maistre  战争中有一些基本的原则,无视这些原则非常危险,而遵循这些原则就可能胜利。  ——General Antoine-Henri de Jomini  无论谁想运筹帷幄,都要遵循罗马的战略战术:首先是速决战。   ——Niccolo Machiavelli  没有人可以保证战争的胜利,只能等待它的回报。  ——温斯顿·丘吉尔

图书封面


 SQL语言艺术下载 更多精彩书评



发布书评

 
 


精彩书评 (总计6条)

  •     在用了很多年SQL之后,在实际项目中也使用过多种数据库(Oracle,Sql server ,Postgres)。似乎所有的任务都能完成。需要的的目标也能达到。但总是觉得对SQL还没有完全掌握。在书店看到这本书,大致翻了下感觉有我需要的知识。如果你也和我一样,和SQL的关系还是“熟悉的陌生人”,或许本书同样也会适合你。
  •     假期里看了一大半,没有细读,但读的过程中随意想到的问题列出许多,有好多基础的地方要去翻翻数据库系统概论之类的书,同时也要有机会多接触一些数据库产品。此书推荐给有数据库系统开发经验的同学看,有过实战经验的看此书可能收获会更多一点。此书是作者十几年下来的经验谈,相比理论的教材或者是数据库开发的实例书,此书并不涉及明确教你如何做,而是有很多细节之处的考虑,这些都是作者在开发过程中遇到过的实际问题,可以说是作者的感悟。在读的过程中你会觉得有很多问题似曾相识,然后就想自己在开发中是怎么解决的。我个人感觉此书可以长放手头,每隔一段时间就翻翻,并不在于书中讲的是什么,而是在读的过程中,联想到自己在数据库系统开发过程中遇到的问题,不断的去思考更好解决问题的过程。
  •     上个月在当当上买来的,09年的时候看的英文电子版,没有看完。本来是一本好书,里面也确实介绍了许多作者的经验之谈,有一些观点也解释了我一直以来的一些疑问,可是总觉得类似的书籍翻译过来就很别扭,老是感觉和作者的肺腑之言隔着翻译那道墙,虽然翻译得不能算差,但是总觉得差点什么,有时间还是读读原版。

精彩短评 (总计33条)

  •     可能是我对它的期望太高
  •     : TP311.138/3129
  •     This book is targeted at: Developers with significant (one year or, preferably, more) experience of development with an SQL database Their managers Software architects who design programs with significant database components
  •     存儲、索引、分區、執行計畫,SQL 模式…… 讀了這本書,再做設計時會更加準確的為 DB 分配職責。這本是借來的,準備買一本,收藏。
  •     深层次的探讨了sql设计和执行方面的很多问题。但是也仅限于探讨。并没有给出解决方案。大部分都是提出了一堆问题。然后告诉我们要小心。感觉更像一篇论文
  •     一本挺有深度的SQL书
  •     前面写得还思路清晰,到后面就感觉在凑章节了
  •     对各类数据模型优化非常有用。
  •     第一次读(2010-7-14);第二次读(2016-8-16)
  •     当时从半路出家的运维一下跳转到半路出家的DBA,什么都是从实际应用中学习,但是还有很多概念性的东西和细节不明白,看到@Fenng提到这本书(也可能不是,记不清了),读过之后豁然开朗
  •     很棒,期望多阅读几遍
  •     SQL需要不断优化,此书也需要不断翻翻
  •     中文翻译上有点拗口,是一本很好的书,相对来说比较难理解,挑了部分来读~
  •     可以整理思路
  •     深层次,能力还不够
  •     怎是一个烂字了得。本来就不是很喜欢带有演艺性质的技术类文章。通篇把SQL相关工程理解为一场战役,分章节进行进攻。内容相比同类书籍比较浅显,举例很多,但是分析不够透彻。再加上翻译人员低下的水平,不仔细斟酌很难理解作者想要表述的内容。最终看到200多页的时候看不下去了。
  •     看了5章,对理解sql很,优化很有帮助
  •     并没有读完!!
  •     醍醐灌顶
  •     略读 没到用时 读着无滋味
  •     sql注入命令集
  •     uniquely useful
  •     当时看感觉这书写的真好,现在想来觉得还是比较浅的技术
  •     看的头发都白了
  •     ART
  •     功力不够
  •     SQL优化设计都挺深入的, 后边的数据仓库理论和OLTP3NF设计方面的对比精辟,需要看个2-3遍。出版社加了个英文版的index,找不到那个示例库的代码。
  •     SQL必备。
  •     简单看过,还需要再看的
  •     前面仔细看了,后面扫了一下。对于我来说,还太早了。
  •     感觉一般,有部分的技巧还是有帮助的
  •     SQL很美,如果能够有艺术的应用,那将更美,希望此书能助我一臂之力!读完以后总起来看比较理论,显得有些枯燥,对实际应用的指导意义有限!
  •     读这边书需要有很深的实践经验,才能体会到作者的经验总结。
 

军事,图形图像/视频,娛樂時尚,财政税收,地方史志,小学一年级,建筑科学,高考PDF图书下载,。 PDF图书网 

PDF图书网 @ 2017