词条 | SQL语言艺术 |
释义 | 资深SQL专家Stephane Faroult倾力打造,软件架构设计》作者温昱最新译作,巧妙借鉴《孙子兵法》的智慧结晶。传授25年的SQL性能与调校经验,深入探讨9种常见查询方案及其性能。 SQL语言艺术作 者: (美)法禾,(美)罗伯森 著,温昱,靳向阳 译 出 版 社: 电子工业出版社 出版时间: 2008-3-1 字 数: 450000 版 次: 1 页 数: 349 开 本: 16开 印 次: 1 纸 张: 胶版纸 I S B N : 9787121058349 包 装: 平装 所属分类: 图书 >> 计算机/网络 >> 数据库 >> SQL 定价:¥58.00 编辑推荐“一部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 没有人可以保证战争的胜利,只能等待它的回报。 ——温斯顿·丘吉尔 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。