码迷,mamicode.com
首页 > 其他好文 > 详细

索引、视图和同义词、序列

时间:2015-08-08 16:31:30      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

---恢复内容开始---

一、索引

使用索引的好处: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;

继续使用即可。

 

 

 

 

               

 

 

 

---恢复内容结束---

索引、视图和同义词、序列

标签:

原文地址:http://www.cnblogs.com/lyf1124/p/4713243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!