Oracle数据库常用操作命令(3)

与常规B树索引相反,反向键索引在保持列顺序的同时反转索引列的字节。反向键索引通过反转索引键的数据值,使得索引的修改平均分布到整个索引树上。主要应用于所多个实例同时访问一个数据库的场景中。

(4)创建位图索引

优点:相对于B树索引而言,基于位图索引列的查询可以减少响应时间。

    相比其他索引技术,位图索引占用空间明显减少。

Oracle数据库常用操作命令

(5)其他索引

组合索引:在表内多列上创建。索引中的列不必与表中的列顺序一致,也不必相互邻接。

基于函数的索引:需要创建的索引需要使用表中一列或多列的函数或表达式,也可以将基于函数的索引创建为B树索引或位图索引

Oracle数据库常用操作命令

3、创建索引的原则

频繁搜索的列可以作为索引列

经常排序,分组的列可以作为索引

经常用作连接的列(主键/外键)可以作为索引

将索引放在一个单独的表空间中,不要放在有回退段、临时段和表的表空间中

对于大型索引而言,考虑使用NOLOGIN子句创建大型索引。

      根据业务数据发生频率,定期重新生成或重新组织索引,进行碎片整理


4.查看索引

和索引有关的数据字典:

USER_INDEXS:用户创建的索引信息

USER_IND_COLUMNS:与索引相关的表列信息

Oracle数据库常用操作命令

5.维护索引

(1)重建索引

索引需要维护,如果建立了索引的表中有大量的删除和插入操作,会使得索引很大,因为删除操作后,删除值的索引空间不能被自动重新使用,对于大表和DML操作很频繁的表,索引的维护是很重要的。Oracle提供了rebuild指令来重建索引。使索引空间可以重用删除值所占用的空间,使索引更加紧凑。

(2)合并索引碎片

合并索引碎片可以释放部分磁盘空间,是索引维护的一种重要方式,也是维护磁盘空间的方式,类似于磁盘碎片整理,把不用的空间释放出来再利用。

(3)重命名索引

(4)删除索引

八、视图

视图是一个虚表,不占用物理空间,因为视图本身的定义语句存储在数据字典里,视图中的数据是一个或多个实际表中获得的。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。

1、视图的优点:

1)      提供了另外一种级别的表安全性

2)      隐藏的数据的复杂性:一个视图可能是用多表连接定义的,但用户不需要知道多表连接的语句也可以查询数据。

3)      简化的用户的SQL命令:查询视图的时候不需要写出复杂的查询语句,只需要查询视图名称即可。

4)      隔离基表结构的改变:视图创建好了之后,如果修改了表的结构,也不会影响视图的

    5)通过重命名列,从另一个角度提供数据:例如在销售系统中,每日下班前要对当日数据进行汇总,在销售人员眼中,该汇总表成为日销售统计表,在财务人眼中,该销售表成为销售日报表

2.创建视图

Oracle数据库常用操作命令

参数解释:

OR REPLACE:如果视图已存在,此选项将重新创建该视图。

FORCE:如果使用此关键字,则无论基表是否存在,都将创建视图。

NOFORCE:这是默认值,如果使用此关键字,则仅当基表存在时才创建视图。

VIEW_NAME:要创建视图的名称

Alias:指定由视图的查询所选择的表达式或列的别名。别名的数目必须与视图所选择的表达式的数目相匹配。

Select_statement:select语句

WITH CHECK OPTION :此选项指定只能插入或更新视图可以访问的行。术语constraint表示为CHECK OPTION约束指定的名称。

WITH READ ONLY:此选项保证不能在此视图上执行任何修改操作。

3、DML语句和复杂视图

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8d67ee994b4dd7a410beb5012c277738.html