搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
SQL语言艺术
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121058349
  • 作      者:
    (美)Stephane Faroult,(美)Peter Robson著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2008
收藏
编辑推荐
  资深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经典查询方案,以及对其性能影响的讨论,非常便于实践。书中有一章专门讨论树状结构,可帮助你解决层次结构数据的问题。另外,当你必须基于别人的数据库设计进行工作时,“精于计谋:挽救响应时间”这一章会助你成功。
展开
作者简介
  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数据库大会,在许多数据库专业杂志上发表过文章。联系他。
展开
内容介绍
  本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你的实际工作提出了具体建议。本书适合SQL数据库开发者、软件架构师,也适合DBA,尤其是数据库应用维护人员阅读。
展开
精彩书评
  体悟战争箴言,精通SQL兵法:
  在所有战争中,显示军事才华的第一步是战略规划。
  ——Joseph de Maistre
  战争中有一些基本的原则,无视这些原则非常危险,而遵循这些原则就可能胜利。
  ——General Antoine-Henri de Jomini
  无论谁想运筹帷幄,都要遵循罗马的战略战术:首先是速决战。 
  ——Niccolo Machiavelli
  没有人可以保证战争的胜利,只能等待它的回报。
  ——温斯顿·丘吉尔
展开
目录
前言
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
索引
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证