文件名称:SQL语言艺术
文件大小:46.42MB
文件格式:PDF
更新时间:2016-06-04 15:06:03
SQL 语言 艺术
本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则 进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以 及其性能影响讨论,非常便于实践,为你的实际工作提出了具体建议。本书 适合SQL数据库开发者、软件架构师,也适合DBA,尤其是数据库应用维护人 员阅读。 本书目录 前言 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 索引