数据库程序设计 8 序列 索引

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/L1558198727/article/details/88835784

创建序列:

按照一定的队则自动增加 减少数字的一种数据库对象

create sequences 序列名
[increment by n]  +1 /-1
[start with n ]
[maxvalue n]
[minvalue n]
[cycle nocycle]
[cache nocache]

例子:创建一个序列 test 起始值是10 每次增长2
create sequence test
start with 10
increment by 2
maxvalue 100
minvalue 9
cycle
cache 10;

两个伪列

nextval :  序列返回的下一个值
currval :序列返回的当前值

例子:
stu{
	sid number
	sname varchar2
}
create sequence test
start with 10
increment by 1insert into stu values(stu.nextval,'Tom')
select * from stu;
结果是得到了自动增序的数据
也可以用 currval 获取当前的序列值

currval 当前序列被引用前,必须先是用 nextval创建序列!

修改序列

alter sequence 序列名
[increment by n]  +1 /-1
[maxvalue n]
[minvalue n]
[cycle nocycle]
[cache nocache]

cache 10

缓存中序列值的个数为10

删除序列:

drop sequence 序列名

伪列 rowid

伪列
系统自动生成
表示每一个数据库记录的物理地址 唯一的
好处:可以快速定位到记录上
组成:
数据对象编号6+ 相关文件编号3+ 块编号6+ 行编号3

索引

分类:
	单列索引  
		一个列上
	复合索引
		几个列上
创建索引:
	自动创建
		建表的时候使用了 primary key 或者 unique 数据可自己创建索引
	手动创建:
		用户使用创建语句进行创建:
			create index 索引名
			on table(列。。。)

命名规范:
	idx_表名_列名

实例:

单列索引
create index idx_emp_ename
on emp(ename)

复合索引:
create index idx_emp_ename
on emp(ename,job)

索引的作用:

优点:
	执行速率会加快
缺点:
	占用空间
	降低DML操作的效率

删除索引

drop index 索引名

猜你喜欢

转载自blog.csdn.net/L1558198727/article/details/88835784