笔者有很长时间都在使用 Oracle 数据库开发金融应用程序,和应用开发人员一起工作,构建及优化基于 Oracle 数据库的应用程序,以确保满足客户对于可靠性、健壮性和高性能的要求。在这一过程中,笔者看到了开发人员通常会遇到的问题,通过长时间的积累经验,便有了本书的构思和案例来源。
Oracle 底层运行和接口层(如 SQL、 JDBC)之间存在不透明的策略关系,导致开发人员经常陷入苦恼。为了解决这个问题,本书总结了一些最有价值的规则集合,这些规则适用于上下文及限制,可以作为设计过程中的参考路标。涵盖了使用 Oracle 数据库开发应用程序时最重要的内容,即 Oracle 数据库如何工作,哪些是 Oracle 数据库擅长的,哪些则是短板。对于 Oracle 不擅长的那些特性,本书将讨论在应用层如何更好地实现它们。
本书假设读者已经对 Oracle 日常操作及 SQL 执行计划有所了解,关于 Oracle 入门知识方面,可以参看其他 Oracle 基础书籍。对本书更恰当的描述是,提供了实际有效的设计规则,可以协助开发人员高效地设计、开发和使用 Oracle 数据库。
因笔者水平和成书时间有限,本书难免存在疏漏和不当之处,敬请指正。
本书特色
深入浅出,行文诙谐易懂
本书从基础知识入手,首先介绍 Oracle 性能优化的基本原理和关键概念,然后深入、细致地讲述如何找出性能问题及如何选择所用工具。本书重点关注查询优化器及其使用的统计信息、查询优化器的配置、获取执行计划的方法、 SQL 优化技术、解析的工作原理及问题、如何高效地访问单表和多个相关联的表等。
兼顾深度与广度,理论与实际应用环境相结合
本书在讨论过程中兼顾深度与广度,不仅对实际问题的现象、产生原因和相关原理进行了深入浅出的讲解,更主要的是结合真实案例,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性,可满足读者面向实际应用的需求;并且延伸到高级优化技术,以及如何优化物理设计。
从应用角度和数据库角度综合考虑
本书以 Oracle 应用程序高性能设计和优化为目的,从应用角度和数据库角度综合分析更有效的解决问题的方式。不同于以 Oracle 或 Java 为中心的书籍,在讨论时生硬地把解决方法往具体技术中套,本书先为特定的问题分析出更有效的解决方式,再讨论在应用中实现还是在数据库中实现更合理,这是本书的最大特色,也是实际高性能系统架构设计采用的主要做法。
本书体系结构
为了帮助读者更好地学习,本书按照循序渐进的方式组织内容。本书共有 11 章,每章都可以单独阅读。例如,要使用或理解第 9 章的执行计划分析,不需要先阅读介绍 Oracle 运行机制的第 3 章。
每一章的叙述风格基本如下:
● 对特性或功能进行简单介绍;
● 说明考虑(或不考虑)使用该特性的原因,哪些情况下该特性比较适用,哪些情况下不适用;
● 如何使用该特性并验证它确实如我们所希望的那样工作。
本书读者对象
本书面向使用 Oracle 作为数据库的应用开发人员;如果专业的 Oracle 开发人员和 DBA(数据库管理员)想了解某些特性是否可以在 Oracle 数据库中完成,也可以参考本书;如果技术领导要带领团队开发
使用 Oracle 数据库的项目,同样可以参考本书,因为技术领导懂数据库,对项目的成功至关重要。
不管你是初学者还是高级开发人员,想使用 Oracle 或想知道各种特性在内部是如何运作的,以及各特性在工作中如何应用,那么请阅读本书。本书还可以作为高级开发人员进阶性能优化专家的培训教材。
要想更好地学习本书,读者最好具备以下能力。
● 熟练使用 SQL。虽然不要求读者精通 SQL,但应熟悉各种常用的 SQL。读者有实战经验,对学习本书会很有帮助。
● 了解 PL/SQL。本书几乎没有涉及 PL/SQL 及 PL/SQL 的优化,但是 PL/SQL 在某些情况下仍是最好的实现选择。
● 熟悉某种编程语言,如 Java 或 C。在本书中,当我们讨论不适合使用 Oracle 实现的功能时,将讨论其在 Java 中如何实现,所以读者最好熟悉 Java 编程语言。
本书源代码
本书提供源代码下载,读者可扫描右侧二维码,关注微信公众号,根据提示
获取源代码。
a***s 2020-04-20 12:53:00
不错,,,,,,,,,,,,,,,,,,,,,,,,,,,,