索引分区(二)
按区间对索引分区,即全局分区索引。索引按区间或散列分区,一个索引分区可能指向任何表分区。实际索引分区数可能不同于表分区数。Oracle 支持两种全局分区索引(global partitioned index):范围(range)分区索引及哈希(hash)分区索引。全局范围分区索引(global range partitioned index)的灵活性在于其分区度(...
索引分区(一)
随表对索引完成相应的分区,即本地分区索引。每个表分区都有一个索引分区,而且只索引该分区。一个给定索引分区中的所有条目都指向一个表分区,表分区中的所有行都表示在一个索引分区中。本地分区索引(local partitioned index)与其他类型分区索引相比较更易管理。本地分区索引适用于 DSS 系统,且具有较高的可用性。这是...
表分区
分区好处:1、提高数据可用性2、由于数据中去除了大段,相应的减轻了管理的负担3、改善某些查询的性能,但oltp系统,大多数情况下改善不大4、可以把修改分布到多个单独的分区上,从而减少大容量OLTP系统上的竞争。分类:1)区间分区:指定数据区间来决定数据存储在哪个分区。2)散列分区:在一个列(或多个列)上...
LOB类型
1、clob/blob创建一个lob列时,存储在行中的只是一个指针,当我们请求得到lob数据时,lob指针将通过lobindex找到数据的存储位置,然后访问lobsegment获取数据。表空间lob字段与表放在不同的表空间,主要与管理和性能有关。一方面,为lob数据单独使用一个表空间有利于备份和恢复以及空间管理。另一方面,默认情况下lob不...
date类型
如下建议:1、使用numtodsinterval内置函数增加小时、分钟和秒2、加一个简单的数增加天3、使用add_months内置函数增加月和年测试JEL@JEL >alter session set nls_date_format='dd-mm-yyyy hh24:mi:ss';Session altered.JEL@JEL >select sysdate from dual;SYSDATE-------------------20-12-2013 20:43:20JE...
应用中避免使用char/nchar类型
定宽的存储空间可能导致表和相关索引比平常大许多,还会伴随着绑定变量问题,所以无论什么场合都避免使用char类型JEL@JEL >create table t (x char(20),y varchar2(20));Table created.JEL@JEL >insert into t values ('hello','hello');1 row created.JEL@JEL >commit;Commit complete.JEL@JEL >select * fr...
使用索引常见的几个问题
1、复合索引的使用在T(x,y)上有一个索引,如果查询中不涉及列x(如where y=5),则不使用索引,但索引跳跃式扫描除外。JEL@JEL >create table t as select decode(mod(rownum,2),0,'M','F') gender,all_objects.* from all_objects;Table created.JEL@JEL >create index i_t on t(gender,object_id);Index create...
外键与索引
当我们更新父表主键或者删除一个父记录时,都会在子表上加一个表锁,在这条语句完成之前,不允许对子表做任何修改,从而影响并发性。外键未加索引,可能导致如下问题:1、删除父表多行时,对于父表的每一行删除,都会把子表全表扫描一次2、从父表查询子表时,没有索引查询很慢(这就是为什么内嵌表时,建议对隐藏列nest...
null与索引
JEL@JEL >create table t (x int,y int);Table created.JEL@JEL >create unique index i_t on t(x,y);Index created.JEL@JEL >insert into t values (1,1);1 row created.JEL@JEL >insert into t values (1,null);1 row created.JEL@JEL >insert into t values (null,1);1 row created.JEL@JEL >insert ...
位图索引
位图索引主要针对大量相同值的列而创建索引块的一个索引行中存储键值和起止Rowid,以及这些键值的位置编码,位置编码中的每一位表示键值对应的数据行的有无.一个位图索引块可能指向的是几十甚至成百上千行数据的位置.位图索引的特点1.Bitmap索引的存储空间相对于B*Tree索引,位图索引由于只存...
B*树索引
B树索引是一个典型的树结构,其包含的组件主要是:1) 叶子节点(Leaf node):包含条目直接指向表里的数据行。2) 分支节点(Branch node):包含的条目指向索引里其他的分支节点或者是叶子节点。3) 根节点(Root n...
常用hint
一. 和优化器相关的HintOracle 允许在系统级别,会话级别和SQL中(hint)优化器类型:系统级别:SQL>alter system set optimizer_mode=all_rows;会话级别:SQL>alter system set optimizer_mode=all_rows;1.1 ALL_ROWS 和FIRST_ROWS(n) -- CBO 模式对于OLAP系统,这种系统中通常都是运行一些大的查询操作,...
Oracle DBA 日常管理
自己参考下,转载oracle 日常维护工作内容oracle 日常维护工作内容ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。 (2). 每周对数据库对象的空间扩展情况,数据的增长...
数据库表--external table
卸载表数据到文件并重新读取创建目录JEL@JEL >create directory dir_dmp as '/home/oracle';Directory created.JEL@JEL >grant read,write on directory dir_dmp to public;Grant succeeded.卸载数据JEL@JEL >select * from test; X  ...
数据库表--object table
创建类型JEL@JEL >create or replace type address_type 2 as object 3 (city varchar2(30), 4 street varchar2(30), 5 state varchar2(2), 6 zip number) 7 /Type created.JEL@JEL >create or replace type person_type 2&nbs...
数据库表--temporary table
用于保存事物或会话期间的中间结果集,数据只对当前会话可见,所有会话看不到其他会话的数据,即使会话已经提交,因此不存在用户并发问题。创建临时表的动作不涉及存储空间的分配,不会为此分配初始区段,当一个会话第一次在临时表中放入数据时,才会为该会话创建一个临时段。每个用户应该有自己的临时表空间,并在自己的临...
数据库表--nested table
使用嵌套表有两种方法,第一,在PL/SQL代码中使用,用来扩展PL/SQL语言;第二,作为一种物理存储机制,持久的存储集合。创建对象类型JEL@JEL >create or replace type emp_type as object (empno number(4),ename varchar2(10),job varchar2(9),mgr number(4),hiredate date,sal number(7,2),comm number(7,2)); ...
Oracle RAC & Data Guard搭建高可用数据库系统方案
看到篇文章,转一下。一、高可用系统平台Oracle Real Application Clusters (RAC)可以支持24 x 7 有效的数据库应用系统,可以由低成本的服务器构成的高可用性系统,自由的部署应用,而无需修改应用程序。(一) RAC关键特性l 高可用性Oracle Real&nbs...
数据库表--sorted hash clustered table
有序散列聚簇表(sorted hash clustered table)是10g之后新增。结合了散列聚簇和IOT的特性。如果经常使用如下查询,则很适合使用有序散列聚簇表。Select * From t Where KEY=:x Order by SORTED_COLUMN。通过使用有序散列聚簇,Oracle可以返回数据而不用执行排序。这是通过插入时按键有序物理存储数据做到的。创建散列聚...
数据库表--hash clustered table
Hash clustered table与索引聚簇表非常相似,只有一个主要区别:聚簇键索引被一个hash函数所取代,表中的数据就是索引.所以没有物理索引hash clustered table也有副作用,如果不对表加一个传统索引,将无法对表进行range scan,比如 select * from emp where deptno between 10 and 20,会产生全表扫描.理想情况下,散列值均匀地...