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(局部分区索引). ...
随机推荐
- Javascript模块规范
因为有了模块,就可以更方便地使用别人的代码,想要什么功能,就加载什么模块.但是有一个前提,就是大家必须以同样的方式编写模块. 目前,通行的Javascript模块规范共有两种:CommonJS和AMD ...
- 使用Squid搭建HTTPS代理服务器
由于经常去的一些国外网站如Google.Blogspot.Wordpress被"出现了技术问题",访问不了,于是我在自己的DigitalOcean云主机上搭建了一个 Squid代理 ...
- 集合映射中的映射包(使用xml文件)
如果持久类有List对象,我们可以通过列表或者bag元素在映射文件中映射. 这个包(bag)就像List一样,但它不需要索引元素. 在这里,我们使用论坛的场景: 论坛中一个问题有多个答案. 我们来看看 ...
- js intanceof 或 typeof
typeof和instanceof的区别 typeof和instanceof都可以用来判断变量,它们的用法有很大区别: typeof会返回一个变量的基本类型,只有以下几种:number,boolean ...
- Android实现短信监听并且转发到指定的手机号,转发后不留痕
转载:http://blog.csdn.net/swqqcs/article/details/7252419 通过这些代码也可以对远程手机实现短信控制.有兴趣的可以自己改一下,说一下简单的原理,要实现 ...
- c++ 模板仿函数初探
一直以来对于C++的使用基本上都是C with class,对于各种尖括号的模板都是敬而远之,最近忽然觉得该好好看看模板了.于是就有了这篇blog. 本文以一个查找问题为例来说明模板仿函数. 在C中, ...
- Expression<Func<T, bool>>与Func<T, bool>的区别
转自:http://www.cnblogs.com/wow-xc/articles/4952233.html Func<TObject, bool>是委托(delegate) Expres ...
- java中訪问修饰符
较之c++ 中 public,proctected, private 三种訪问控制, java多了默认訪问控制. java中四种訪问控制权限 简单描写叙述为一下四句: 1)private 仅本类可见 ...
- JavaScript Observer Pattern
var Users = { list: [], listeners: {}, add: function(name) { this.list.push({name: name}); this.disp ...
- proguard-project.txt和project.properties混淆代码
[转]利用android proguard混淆代码 防止反编译,优化代码 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上的开源demo,终于成功的配置了androi ...