好书推荐 好书速递 排行榜 读书文摘

SQL语言艺术

SQL语言艺术
作者:[美] StéphaneFaroult,P
译者:温昱 / 靳向阳
副标题:The Art of SQL
出版社:电子工业出版社
出版年:2008-01
ISBN:9787121058349
行业:艺术
浏览数:78

内容简介

资深 SQL 专家 Stéphane Faroult倾力打造

《软件架构设计》作者温昱最新译作

巧妙借鉴《孙子兵法》的智慧结晶

传授25年的SQL性能与调校经验

深入探讨九种常见查询方案及其性能

本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你的实际工作提出了具体建议。本书适合SQL数据库开发者、软件架构师,也适合DBA,尤其是数据库应用维护人员阅读。

......(更多)

作者简介

Stéphane Faroult从1983年开始接触关系数据库。Oracle法国成立早期他即加入(此前是短暂的IBM经历和渥太华大学任教生涯),并在不久之后对性能和调优产生了兴趣。1988年他离开了Oracle,此后一年间,他进行调整,并研究过运筹学。之后,他重操旧业,一直从事数据库咨询工作,并于1998年创办了RoughSea公司(. 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联系他。

......(更多)

目录

前言

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

索引

......(更多)

读书文摘

如果有几个值属于表的同一行,它们之间就存在关系 我们定义的关系(再次强调,关系就是我们创建的表)代表我们接受的事实,而试图和查询就是新事实。

关系理论的关键原理是:关系不包含重复数据,且记录之间没有顺序。

......(更多)

猜你喜欢

点击查看