第一章 开发成功的Oracle应用程序
1.3如何开发数据库应用程序
1.3.1理解Oracle的体系结构
1)不要在MTS下运行长事务
MTS(Multi Threaded Server)体系结构,即一种为了支持多数据库连接需要配置Oracle的一种模式。
不要在MTS上执行长时间的事务。但实现这种解决办法却不简单。有许多解决问题的办法,但是都需要改变基础体系结构。解决问题最合适的方法,也是需要最少改动的方法是使用高级队列(AQ,Advanced Queue)。
2)使用绑定变量
select * from emp where empno = 123
select * from emp where empno = :empno
分析一个带有硬编码变量的预计将比重用一条已分析过的查询方案花费更长时间和消耗更多的资源。不明显的是前者将减少系统所能支持的用户数量的程度。很明显,部分原因是由于增加资源消耗量,但更主要的因素是由于对库高速缓存的锁存器机制。当硬分析一个查询时,数据库将花费更多的时间支持称为锁存器(latche)的某些低层串行化设备。这些锁存器保护了Oracle共享内存中的数据结构,可以避免被两个用户同时修改和避免当数据进行修改时被用户读取。锁存这些数据结构时间越长越频繁,获得锁存器的队列也就变得越长。这与在MTS下运行长事务独占稀缺资源的情况类似。一个不使用绑定变量的简单小程序将导致其他优化好的应用程序的相关SQL从共享池中抛出。
如果使用绑定变量,提交引用相同对象的完全相同的查询的人将使用共享池中的编译方案。只需编译子例程一次,就可以重复使用。不仅使用较少的资源,而且可以减少锁存时间,降低锁存频率。
1.3.2理解并行控制
1)实现封锁
Oracle的封锁策略:
(1)只有当修改时,Oracle在行级上锁定数据,不要把锁定上升到块级或表级
(2)Oracle不会为读取而锁定数据
(3)数据的写入不会阻塞数据的读取
(4)只有当另一个数据写入已经锁定了某行数据后,才阻塞其他人对该行数据的写入。
2)多版本
Oracle提供如下的机制:
(1)一致读查询:在某一时刻查询产生一致结果
(2)非阻塞查询:数据写入从来不阻塞查询
1.3.3与数据库无关
生成自增主键:
create table t (pk number primary key,...);
create sequence t_seq;
create trigger t_trigger before insert on t for each row
begin select t_seq.nextval into :new.pk from dual;
end;
编写可移植的程序有两种方式。一种使用JDBC编程,直接使用SQL SELECT、INSERT、update和delete,可能会省去一层抽象。只要将使用的结构限定到要用的数据库所支持的结构,就可以在应用程序中直接使用SQL编码。另一个可移植和提供良好性能的方式,是使用存储过程返回结果集。
分享到:
相关推荐
tuxedo应用程序开发指南.pdf 第一章 开发BEA Tuxedo应用程序 第二章 一个简单的Tuxedo应用程序simpapp 第三章 一个完整的Tuxedo应用程序bankapp
通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sql和pl/sql相关工具 第1章 在windows ...
通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sql和pl/sql相关工具 第1章 在windows ...
第一部分 ORACLE系统优化基本知识 第1章 ORACLE结构回顾 第2章 警告日志与跟踪日志 第3章 初始化参数、SQL脚本文件 第6章 性能优化基础知识 第7章 系统优化方法 第二部分 ORACLE应用系统设计优化 第8章ORACLE...
Oracle是当今各领域中应用比较广泛的一个大型关系型数据库产品,它以其所拥有的稳定、可伸缩性强以及安全可靠等...读者对象:面向各种培训班学员,高校相关专业的学生, Oracle应用开发人员以及Oracle数据库的学习者。
Oracle是当今各领域中应用比较广泛的一个大型关系型数据库产品,它以其所拥有的稳定、可伸缩性强以及安全...读者对象:面向各种培训班学员,高校相关专业的学生, Oracle应用开发人员以及Oracle数据库的学习者。
第一部分SQL和PL/SQL相关工具 第1章在Windows平台上安装OracleDatabase11g 第2章配置网络服务名 第3章使用SQLDatabase 第4章使用SQL*Plus 第二部分SQL 第5章SQL和PL/SQL综述 第6章简单查询 第7章SQL...
通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sql和pl/sql相关工具 第1章 在windows ...
通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sql和pl/sql相关工具 第1章 在windows ...
第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 章,Oracle 数据库简介 Part II Oracle Database Architecture 第二部分 Oracle 数据库体系结构 Chapter 2, Data Blocks, Extents...
第5部分 构造PL/SQL应用程序 第17章 过程、函数与参数 543 第18章 包 593 第19章 触发器 626 第20章 管理PL/SQL代码 685 第21章 PL/SQL的性能优化 753 第22章 I/O操作和PL/SQL 843 第6部分 高级PL/SQL主题 第23章 ...
第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 章,Oracle 数据库简介 Part II Oracle Database Architecture 第二部分 Oracle 数据库体系结构 Chapter 2, Data Blocks, Extents,...
第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 章,Oracle 数据库简介 Part II Oracle Database Architecture 第二部分 Oracle 数据库体系结构 Chapter 2, Data Blocks, Extents...
Triggers 第 22 章,触发器 Chapter 23, Information Integration 第 23 章,信息整合 Part IV Oracle Database Application Development 第四部分 Oracle 数据库应用程序开发 Chapter 24, SQL, PL/SQL,...
Oracle Concepts官方文档,中英文对照版,oracle数据库入门的好材料,不论是从事ORACLE数据库管理还是ORACLE应用开发,都应该读一读。 Part I What Is Oracle? 第一部分 何为 Oracle? Chapter 1, Introduction ...
第一部分 何为 Oracle? Chapter 1, Introduction to the Oracle Database 第 1 章,Oracle 数据库简介 Part II Oracle Database Architecture 第二部分 Oracle 数据库体系结构 Chapter 2, Data Blocks, Extents, ...
第一篇 Oracle管理配置 第1章 Oracle安装配置(教学视频:10分钟) 23 1.1 Oracle简介 23 1.1.1 数据库术语 23 1.1.2 主流数据库简介 24 1.1.3 Oracle数据库的特点 24 1.2 安装Oracle数据库 25 1.2.1 Oracle...
第4章 规划oracle 应用程序——方法、风险和标准 第ⅱ部分 sql 和sql*plus 第5章 sql 中的基本语法 第6章 基本的sql*plus 报表和命令 第7章 文本信息的收集与更改 第8章 正则表达式搜索 第9章 数值处理 ...
第4章 规划oracle 应用程序——方法、风险和标准 第ⅱ部分 sql 和sql*plus 第5章 sql 中的基本语法 第6章 基本的sql*plus 报表和命令 第7章 文本信息的收集与更改 第8章 正则表达式搜索 第9章 数值处理 ...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...