文档章节

Oracle中如何把表和索引放在不同的表空间里

 帕金鸽
发布于 2015/05/25 08:42
字数 418
阅读 21
收藏 0

Oracle中并没有区分表空间里放的是表还是索引,所有当数据量比较小时,完全可以把表和索引放在同一个表空间里,但随着数据量的增大,最好还是把表和索引分开存储在不同的表空间里。

因为:
1)提高性能:
尽量把表和索引的表空间存储在不同在磁盘上,把两类不同IO性质的数据分开放,这样可以提高磁盘的IO总体性能;

2)便于管理:试想一下,如果索引的数据文件损坏,只要创建索引即可,不会引起数据丢失的问题。

下面语句用于移动索引的表空间:

alter index INDEX_OWNER.INDEX_NAME rebuild tablespace NEW_TBS;

也可以利用以下语句获得某个schema下移动索引表空间的所有语句:

select 'alter index '||owner||'.'||index_name||' rebuild tablespace NEW_TBS;'

from dba_indexes 

where table_owner='SCHEMA_NAME'

order by index_name;

有一点需要注意的是,一旦把表和索引放在不同表空间后,在创建新表时,如果表有主键或唯一约束,记得要指定到索引的表空间,可以参考下面的例子:

create table tmp( 

MON VARCHAR2(6) , 

IDNO VARCHAR2(10) , 

constraint pk_name primary key ( MON, IDNO ) 

using index tablespace index_tbs,

CONSTRAINT uk_name UNIQUE (MON)

using index tablespace index_tbs

) ;

本文转载自:http://www.jb51.net/article/39752.htm

共有 人打赏支持
粉丝 0
博文 5
码字总数 450
作品 0
深圳
oracle常见基础知识

oracle使用的脚本语言称为什么? PL-SQL oracle中游标的分类? oracle中游标分为两类:显示游标和隐式游标 oracle中function与procedure的区别? (1) function一定要有返回值,但procedure不...

Gong_Chen
2016/04/04
84
0
索引 技巧

避免在索引列上使用计算和函数. WHERE子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描. 举例: 低效: SELECT … FROM DEPT WHERE SAL * 12 > 25000; 高效: SELECT …...

Reborn-D
2016/10/17
34
0
Oracle数据库应用系统调优方法

从以下几个方面:数据库服务器、网络I/O、应用程序等对整个系统加以调整,充分发挥Oracle的效能,提高整个系统的性能   Oracle数据库广泛应用在社会的各个领域,特别是在Client/Server模式...

rockypeng
2013/11/09
0
0
Oracle表空间以

一学三思三敲才能懂,才能长期有效的记忆 起初学习Oracle的时候,已经了解Oracle的优点,比如分布式管理,轻松协调;优越的性能;支持大数据的格式;还有一点就是Oracle独创表空间独特,而且有极...

长路慢
2017/12/30
0
0
SQL优化常用方法53

分离表和索引 总是将你的表和索引建立在不同的表空间内(TABLESPACES). 决不要将不属于ORACLE内部系统的对象存放到SYSTEM表空间里. 同时,确保数据表空间和索引表空间置于不同的硬盘上. 译者按...

inzaghi1984
2017/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

又一个centos文件顺序导致的问题

背景 新的centos似乎对于文件顺序做了特别的优化 和文件顺序出现的问题确实多了不少 centos7导致的spring循环依赖【实际上和这个问题不一样 不过由此衍生出的问题】 某应用放在新的系统开始报...

Mr_Qi
13分钟前
0
0
阿里云国际版香港CN2测评 月付9美元/30M带宽/1T流量

市面上很多家香港VPS服务商,一直都说阿里云国际版香港CN2线路好,延迟低,速度快,价格便宜流量还多,那么这个香港线路到底怎么样呢?本文从性能、延时、路由、速度方面来全方面测评一下阿里...

flyzy2005
55分钟前
0
0
撤销git commit --amend

it commit -amend之后想撤销 git reset HEAD@{1}

xiaomge
今天
0
0
有意思的TimeUnit

java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum: public enum TimeUnit 好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并...

polly
今天
10
0
生成pyc

Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改...

Mr_Tea伯奕
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部