随笔分类 - Oracle Index
摘要:一、引言 DBA在日常维护管理数据库进行低性能SQL分析时,有时候需要通过创建索引对SQL进行优化,但有些时候我们创建的索引是否能用到?这个只能创建以后才能看出效果,但是在实际工作中,特别是对大表创建索引对系统性能有很大影响,因此我们不得不避开业务高峰时段,但是有没有一种办法创建索引而不影响性能呢?有,那就是虚拟索引。 虚拟索引不是物理存在的,它并不会创建实际的索引段,只是在数据字典中加了一个索引的记录,使得优化器能够意识到一个索引的存在,从而判断是否使用该索引作为访问路径。作用仅仅是为了DBA作SQL优化时使用,DBA根据虚拟索引的优化效果决定是否创建物理索引。二、虚拟索引类型 虚拟索引支持
阅读全文
摘要:一、创建表的同时创建主键约束 1.1、无命名SQL> create table jack (id int primary key not null,name varchar2(20)); Table created SQL> select table_name,index_name from user_indexes where table_name='JACK'; TABLE_NAME INDEX_NAME------------------------------ ------------------------------JACK ...
阅读全文
摘要:一、实验说明: 操作系统:rhel 5.4 x32 数据库:Oracle 11g R2二、实验步骤: 2.1、在没有位图索引进行DML操作的例子(该实验建立b-tree索引做对比): 1 SQL> select distinct sid from v$mystat; 2 3 SID 4 ---------- 5 1 6 7 SQL> create table jack_test (id int,name varchar2(10)); 8 9 Table created.10 11 SQL> insert into jack_test values(1,'aa'
阅读全文
摘要:说明:之前使用range分区做出来的效果不明显,这次使用hash分区。1、准备工作: ----创建两张一样的hash分区表,jacks_part和echos_part------------------ 1 SQL> create table jacks_part (owner varchar2(30),object_id number,object_name varchar2(128)) 2 2 partition by hash(object_id) 3 3 partitions 30; 4 5 Table created. 6 7 SQL> create table...
阅读全文
摘要:一、实验说明: 操作系统:rhel 5.4 x86 数据库:Oracle 11g R2 实验说明:该实验参照了谭老师的《让Oracle跑的更快2》中的一个案例。二、在数据库中创建带加载数据的分区表及索引 ----------创建一个包含3个分区的分区表,分区的字段是一个时间字段,分别存放2011年、2012年和之后的数据。----- 1 SQL> create table jack_test(id int,name varchar2(60),created date) 2 2 partition by range(created) 3 3 ( 4 4 partition ...
阅读全文
摘要:一、实验说明:操作系统:rhel 5.4 x86 数据库:Oracle 11g R2二、操作步骤: 2.1、首先创建一个表t_btree,并创建B-Tree索引,索引键是object_name:1 SQL> create table t_btree as select * from dba_objects;2 3 Table created.4 5 SQL> create index ind_btree on t_btree(object_name);6 7 Index created. 接着是执行下面的查询语句两次: 1 SQL> set linesize 150; 2 S
阅读全文
摘要:一、实验说明: 操作系统:rhel 5.4 x86 数据库:Oracle 11g R2二、操作步骤: 首先创建一张t_btree表,并建立B-Tree索引,索引键是status:1 SQL> create table t_btree as select * from dba_objects;2 3 Table created.4 5 SQL> create index status_btree on t_btree(status);6 7 Index created. 执行两次下面的查询语句,并显示执行计划: 1 SQL> set autotrace traceonly; 2
阅读全文
摘要:一、实验说明:操作系统:rhel 5.4 x86 数据库:Oracle 11g R2 实验说明:该实验是为了说明B-Tree索引性能优于BitMap索引的情况。二、实验操作: 首先创建一张t_btree表,并建立B-Tree索引,索引键是object_id:1 SQL> create table t_btree as select * from dba_objects;2 3 Table created.4 5 SQL> create index ind_tree on t_btree(object_id);6 7 Index created. 执行两次下面的查询语句,并显示执行计
阅读全文