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(局部分区索引). ...
随机推荐
- Java并发编程(十二)线程安全性的委托
在组合对象中如果每个组件都已经是线程安全的,是否需要再加一个额外的"线程安全层",需要视情况而定. final可以修饰未复制的属性,只要在静态代码块或者构造函数中赋值了即可. 独立 ...
- size_t ssize_t loff_t 的区别
Ssize_t 与size_t 跟踪linux源码得到以下宏: #ifndef _SIZE_T #define _SIZE_T typedef __kernel_size_t size ...
- Consul实现原理系列文章1: 用Raft来实现分布式一致性
工作中用到了Consul来做服务发现,之后一段时间里,我会陆续发一些文章来讲述Consul实现原理.在前一篇文章中,我介绍了Raft算法.这篇文章会讲讲Consul是如何使用Raft算法来实现分布式一 ...
- select option 不可以选
<select> <option>Volvo</option> <option>Saab</option> <option disab ...
- 大量数据导入导致mysql自动重启
昨天晚上第十款做数据库迁移,数据库版本:Version: '5.1.61',数据量27G左右 message报错信息如下: Mar :: VM_163_210_tlinux kernel: [, oo ...
- [Android L]关于Android L的Service启动问题
一 问题描写叙述 Android L[Android5.X.X] 版本号通过Intent隐式启动service时将会报出下面错误: AndroidRuntime( 792): java.lang.I ...
- ASP.NET:把ashx写到类库里并在页面上调用的具体方法
在类库中建Http Handler的操作很简单,就是添加一个普通的类,然后把之前ashx里的代码几乎一模一样贴到这个类中.但要注意命名空间和类名,因为之后我们会用 到.样例Handler: names ...
- flask session 使用默认配置修改session不生效问题
flask session相关 使用flask 默认sessio是存储在浏览器的cookie中,当请求返回时会将session写在cooKie中,但是在写的时候,默认并不是每次都重新写入 比如下例子 ...
- Mac下通过shell脚本修改properties文件
通过shell脚本替换属性文件中的某行记录 假设有如下属性文件 demo.properties user.name=test user.password=123456 ................ ...
- activity通过流程实例id动态获取流程图并展示在jsp页面上
提供的Service方法如下: Java /** * 获取当前任务流程图 * * @param processInstanceId * @return */ @Override public Inpu ...