ITPub博客

首页 > 数据库 > Oracle > oracle入门之序列和索引

oracle入门之序列和索引

Oracle 作者:genius54 时间:2013-10-27 10:07:57 0 删除 编辑
1.什么是序列
当某列需要自动增长时需要用到序列,序列一般用于主键或唯一列

--create sequence [seq_name]
start with [startnum]
increment by [incremnum]//增长的速度(步长)
minvalue [num]
maxvalue [num]
cycle //当序列增长到30000,重新从1开始 --oncycle不循环
cache//缓存--nocache表示不缓存 [cache 10表示一次产生10个号放入缓存,提交效率,但是可能产生跳号,用nocache避免产生跳号]

使用: 序列名.nextval
nextval和currval的区别
nextval: 增加sequence值然后返回 sequence值
currval: 返回当前值 [使用前必须先使用 序列.nextval 否则出错]
--序列使用场合
不包含子查询,snapshot,view的select语句
insert语句的子查询中
insert语句的values 中
update的set中

2.什么是索引
分类
单列索引
create index [indexname] on [tabalename]([columnname1]);
复合索引
create index [indexname] on [tablename](columnname1,columnname2,...);

什么时候用索引
拥有大数据的表(大表)
在where 子句或是连接条件上经常引用的列上
select * from [tabname] where [columnname]=[condition]
索引次数不要超过4次
在逻辑型类型字段上,或值就是固定的几种的列上也不要建索引

索引的缺点
建立索引会增加表的大小1.2倍
索引会影响插入,修改,和删除的效率


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22439672/viewspace-1117307/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-08-29