Oracle开发
superjava_2006
博观而约取,厚积而薄发。
展开
-
Oracle外部程序的触发小结
在论坛里曾经看过一个帖子,有位用户问了这么一个问题:oracle 里一个表插入一条数据,提交后,如何让外部程序收到这个消息? 当时没有留意,现在想想好像应该可以总结一下了。举例: 1、过程中: declare myexcept exception; inserted_count1 number; inserted_count2 number; ... begin转载 2007-10-19 10:58:00 · 615 阅读 · 0 评论 -
Oracle优化经典文章------索引原理篇
导读: Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做出正确的选择,则可以合理使用资源,使那些已经运行了几个小时甚至几天的进程在几分钟得以完成,这样会使您立刻成为一位英雄。这篇文章就将简单的讨论每个索引选项。主要有以下内容: [1] 基本的索引概念 查询DBA_I转载 2007-10-19 11:08:00 · 548 阅读 · 0 评论 -
ORACLE索引与高性能SQL介绍
什么是索引 索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据; Oracle存储索引的数据结构是B*树,位图索引也是如此,只不过是叶子节点不同B*数索引; 索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的rowid。 使用索引的目的 加快查询速度 减少I/O操作 消除磁盘排序转载 2007-10-19 11:06:00 · 517 阅读 · 0 评论 -
Oracle存储过程实现分页
之所以用存储过程,是因为以后需要修改的话不需要修改程序代码,只需要修改存储过程的代码。但这个例子是在存储过程里动态生成的SQL语句,不知道会不会因此失去存储过程一次编译和快速的特点。代码如下: 1、首先建立一个包,用户创建一个游标类型 create or replace package pkg_query as type cur_query is ref c转载 2007-09-30 17:55:00 · 643 阅读 · 0 评论 -
oracle簇的使用
- 选择合适的字段作为簇键 一个好的簇键应有足够的唯一值以保证与每个键值响应的一组记录能大约放满一个数据块。每个簇键值的记录太少,既浪费空间,而在效率方面的改善却微乎其微。每个簇键值的记录太多,会造成额外的搜索来找到这个键值的记录。过于一般化的键值(如男/女)额外的搜索可能导致比没有簇更差的效率。 - 效率的考虑 簇相对于将一个表和他的索引分开存储将降低DML语句(转载 2007-09-30 17:47:00 · 1378 阅读 · 1 评论 -
如何读懂statspack报告
前言:这篇文章是我从一个pdf文档中看到的,但可惜不知道是哪位大侠写(译)的,因此这里无法注明了。仔细看了看,这篇文章对初学者应该很有帮助,写的比较详细,通俗易懂,因此整理一下,便于阅读;内容略有调整,不单做调整,此记。 产生一个statspack报告是比较简单的,但是如何读懂statspack报告却不是那么容易,需要对Oracle的体系架构、内存结构、等待事件以及应用系统有充分的了解,加上不断转载 2007-10-08 15:57:00 · 1490 阅读 · 1 评论 -
Oracle SQL性能优化技巧大总结
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那转载 2007-10-17 18:02:00 · 2407 阅读 · 0 评论