---恢复内容开始---
一、索引
使用索引的好处:1、大大加快数据的检索速度;2、显著减少查询中分组和排序的时间;3、通过索引,在查询过程中,使用优化隐藏器,提高系统的性能。
缺点:1、创建和维护需要耗费时间,并且随着数据量的增大,时间花费会越来越大;2、索引需要占据一定的物理空间;3、在对表中的数据进行动态修改时,索引也要维护,这就降低了维护的效率。
创建索引的准则:
1、要在经常使用的列上创建索引;2、在数据量大的时候创建索引;3、在经常用到连接的列上创建索引;4、在经常需要进行分组、排序的列上创建索引;5、在经常出现在where子句中的列上创建索引。
索引的分类:B-树索引:最常用的索引,适用于不同行相对于所有行很高的情况下;
位图索引:主要使用在不同行相对于所有行值很低的情况下。
B-树索引的创建语句:
create index emp_index_01 on t_employee
pctfree 25
tablespace users;
创建位图索引的语句:
create bitmap index emp_index_02 on t_employee
pctfree 25
tablesapce users;
对原有的分区表进行改变后,表的索引会被改变,可能无法进行正常的插入操作,解决办法:重建索引:
实现语句:
alter index 索引名 rebuild tablespace 空间名;
删除索引:
drop index 索引名。
二、视图
视图的好处:1、可以将用户和原有的表隔离开,让用户只能看到规定的几列;
2、给用户添加权限,让用户只读该视图,不能进行写操作,增加数据的安全性;
3、把经常使用的查询定义为视图,可以再多表之间建立视图,简化操作。
创建视图代码:
create or replace view 视图名称 AS
select A.*,B.*
from A ,B
where A.id=B.id
with 权限(read only)
三、同义词
使用同义词的优点:
1、简化对表的访问,隐藏表的拥有者;
2、扩展了数据库的适用范围,能够在不同的数据库用户之间实现无缝连接
创建同义词代码如下:
create or replace [public] synonym 同义词名 for 表名
在使用同义词时,直接用同义词替换表名即可。
四、序列
序列的优点:
1、自动提供唯一的ID
2、可以被共享
3、将序列值装入内存,可以提高访问的速度
创建序列:
create sequence 序列名
increment by 3 大于0为递增序列,步间距为3,小于0,为递减序列
start with 1---起始值
maxvalue 10000----最大值
nocycle ----无循环
nocache ---- 不放入内存
在使用序列的时候,直接在insert 语句中调用序列名.nextval即可
注:
在使用序列的时候,序列会随着生成的次数,越来越大,如皋需要重新开始的话,可以重置序列
具体操作;
select 序列名.nextval from dual;
alter sequence 序列名 increment by -(查处的值-1)
select 序列名.nextval from dual;
alter sequence 序列名 increment by 1;
继续使用即可。
---恢复内容结束---