Oracle 优化策略(一) 索引篇
2009年12月15日5:25:47
你不得不承认索引的巧妙作用,由于有表的主键唯一标识,使得我们在检索表中数据时,速度上带来的提升,是显而易见的.比起我们没有索引相同量的表,带有索引的表明显有速度上的提升.[读者可以导入一张300~400万的数据检测一下.]
索引是表的一个概念部分,用来提高检索数据的效率. 实际上,ORACLE使用了一个复杂的自平衡B-tree结构. 通常,通过索引查询数据比全表扫描要快. 当ORACLE找出执行查询和Update语句的最佳路径时, ORACLE优化器将使用索引. 同样在联结多个表时使用索引也可以提高效率. 另一个使用索引的好处是,它提供了主键(primary key)的唯一性验证. (援引)
除了那些LONG或LONG RAW数据类型, 你可以索引几乎所有的列. 通常, 在大型表中使用索引特别有效. 当然,你也会发现, 在扫描小表时,使用索引同样能提高效率.
虽然使用索引能得到查询效率的提高,但是我们也必须注意到它的代价. 索引需要空间来
存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本身也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢.
援引:Oracle优化策略之索引
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
虽然学习Java很久了,自己也连接过一些数据库,比如mysql之类的,如今呢,也学习了一段时间的Oracle,然而呢,今天是我第一次连接Oracle,嘿嘿,应该还不算太迟吧。
今天呢,有点笨拙,大家莫笑!
我这是一个查询例子
首先,� ......
oracle学习历程之存储过程
(1) 存储过程通过参数传递,安全性高,可防止注入式攻击.
(2) 查询的语句在存储过程里,与程序不相关,如果以后要修改程序或者数据库,都不会出现连锁反应,增加系统可扩展性.
(3) 网站执行查询的时候,只需要传递简单的参数就可以了,无论是代码优化上还是查询优化上都可以做到高效.
(4) 允许模块 ......
一. 利用rowid来得到相关信息
SQL> conn sys/admin as sysdba
已连接。
SQL> create table bl(id number);
表已创建。
SQL> insert into bl values(1);
已创建 1 行。
SQL> select owner,segment_name,file_id,RELATIVE_FNO,block_id from dba_extents wh
ere owner='SYS' and segment_name='B ......
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对
于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,
对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,� ......