Oracle索引(2)索引的修改与维护
修改索引
利用alter index语句可以完成的操作
重建或合并索引
回收索引未使用的空间或为索引非配新空间
修改索引是否可以并行操作及并行度
修改索引的存储参数以及物理属性
指定Logging或nologging
启用或禁用索引压缩
标记索引不可用
标记索引不可见
启动或关闭对索引的监控
1.修改索引参数设置
修改索引emp_job_indx的存储参数与物理属性参数
SQL> alter index emp_job_index initrans 20 storage(next 50K); 索引已更改。
2.合并索引与重建索引
(1)合并索引:
合并dept_dname_indx索引的存储碎片
SQL> alter index dep_dname_unique coalesce;--COALESCE 索引已更改。
(2)重建索引
清楚碎片的还有一种方式就是重建索引,这样还可以重新设置参数等
重建dept_dname_index索引
SQL> alter index dep_dname_unique rebuild; 索引已更改。
合并索引:
1.不能将索引移动到其他表空间
2.代价比较低,不需要使用额外的存储空间
3.只能在B树的同一子树种进行合并,不会改变树的高度
4.可以快速释放叶子节点中未使用的存储空间
重建索引:
1.可以将索引移动到其他的表空间
2.代价比较高,需要使用额外的存储空间
3.重建整个B树,可以降低B树的高度
4.可以快递更改索引存储参数,如果在重建中指出了ONLINE关键字,还可以再重建索引时使用索引。
3.禁用和启用函数索引
(1).禁用函数索引
禁用 emp_fname_indx
SQL> alter index emp_fname_indx disable; 索引已更改。
(2).启用函数索引
SQL> alter index emp_fname_indx enable; 索引已更改。
4.手动分配与回收索引存储空间
(1).为索引手动分配存储空间
SQL> alter index emp_fname_indx allocate extent (size 100K datefile 'D:\disk3\tbs3_1.dbf') ;
(2).回收存储空间
SQL> alter index emp_fname_indx deallocate unused; 索引已更改。
5.重名
SQL> alter index emp_fname_indx rename to emp_fname_index; 索引已更改。
6.打开监控与关闭监控
(1)开打监控
SQL> alter index emp_fname_index monitoring usage; 索引已更改。
(2)关闭
SQL> alter index emp_fname_index nomonitoring usage; 索引已更改。
维护索引
1.删除索引
一下的情况可以删除索引
(1)索引不再使用
(2)索引并没有提高检索性能。
(3)通过监控,很少使用的索引
(4)重建索引,因为有太多的碎片
(5)由于移动了表数据等操作导致索引失效。
SQL> drop index emp_fname_index; 索引已删除。
2.查询所有信息
Oracle索引(2)索引的修改与维护的更多相关文章
- oracle索引,索引的建立、修改、删除
索引,索引的建立.修改.删除 2007-10-05 13:29 来源: 作者: 网友评论 0 条 浏览次数 2986 索引索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和 ...
- Oracle序列和索引
序列和索引 一.序列 1.序列的概念: 序列(Sequence)是用来生成连续的整数数据的对象.它常常用来作为主键的增长列,可以升序,也可以降序. 2.创建序列: 语法:创建序列 ...
- Oracle中的索引详解
Oracle中的索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是 ...
- oracle提高之索引学习
一. 索引介绍 1.1 索引的创建 语法 : CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> ON <schema ...
- Oracle中B-TREE索引的深入理解(转载)
索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样.在理解索引时,可以想象一本书, ...
- oracle 序列 视图 索引 同义词
序列 Oracle 12C 之后,Oracle 之中提供的是一种手工的自动增长列控制,而这样的控制在 Oracle 之中使用序列(对象)完成. 序列的创建: CREATE SEQUENCE 序列名称 ...
- Oracle——序列、索引、同义词
一.常见的数据库对象 二.序列 序列: 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 ①.创建序列 CREATE SEQ ...
- Oracle视图,索引,序列
什么是视图[View] (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表(3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELEC ...
- Oracle 分区表的索引、分区索引
对于分区表,可以建立不分区索引.也就是说表分区,但是索引不分区.以下着重介绍分区表的分区索引. 索引与表一样,也可以分区.索引分为两类:locally partition index(局部分区索引). ...
随机推荐
- C - Aladdin and the Flying Carpet 有多少种长方形满足面积为a(<=10^12),且最短边>=b;长方形边长为整数,且一定不可以是正方形。
/** 题目:C - Aladdin and the Flying Carpet 链接:https://vjudge.net/contest/154246#problem/C 题意:有多少种长方形满足 ...
- zeppelin部署
1.下载解压2.修改conf/zeppelin-env.sh,添加如下两行 export ZEPPELIN_PORT= export MASTER=spark://master:7077 3.启动 b ...
- cpu故障定位 top strace pstack
一次服务器CPU占用率高的定位分析 推荐 背景:通过性能监控发现上线服务器cpu某核占用率已经达到了100%,而且是由我们的某个核心服务导致的.幸亏由于我们的服务进程由多个相同worker(线程) ...
- request:getParameter和getAttribute区别
getParameter 是用来接受用post个get方法传递过来的参数的.getAttribute 必须先setAttribute.(1)request.getParameter() 取得是通过容器 ...
- HashMap与HashTable原理及数据结构
HashMap与HashTable原理及数据结构 hash表结构个人理解 hash表结构,以计算出的hashcode或者在hashcode基础上加工一个hash值,再通过一个散列算法 获取到对应的数组 ...
- nc 查看端口是否 联通
nc 47.9.16.1 3306 如果卡住,说明 该IP的这个端口 访问不通, 防火墙拦截了
- python 爬虫1 Urllib库的基本使用
1.简单使用 import urllib2 response = urllib2.urlopen("http://www.baidu.com") print response.re ...
- SourceInsight 不断无响应的有关问题
SourceInsight 不断无响应的问题 sourceinsight3使用过程中,如果是大工程,总是出现抽筋的现象,CPU使用.内存占用都很高,阅读android源码不断出现无响应.后发现主要是因 ...
- 可以这样创建E-Notebook数据库
最新版的ChemDraw的名称是ChemOffice Professional 15.用户朋友们在使用它的E-Notebook功能的时候,会发现需要先创立一个数据库,作为上传文档的储存空间.并且还可以 ...
- Apache的下载以及安装
前言:生活,生下来,活下去 第一步:在浏览器的搜索栏输入:apache下载:显示如下,单机进入Apache的官网