序列(sequence)
1.序列是按照一定规则能自动增加减少的一种数据库对象
2.通常可以使用序列能自动生成主键值
序列属性(currval被引用前,必须先使用nextval来访问序列)
currval:表示序列返回当前值
nextval:表示序列返回下一个值
练习
1.创建一个序列,该序列起始值从1开始,无最大值,增量是1,不循环。
create sequence pk
START with 1
INCREMENT by 1
2.查询序列的当前值及下一个值
select pk.nextval from dual
3.使用第一题所建的序列,向部门表中插入两条记录,部门编号使用序列值,部门名称分别是edcation,market.城市是dallas,washon
insert into dept values(pk2.currval,'education','dallas')
修改序列
alter sequence pk2 increment by 4 maxvalue 1000
删除序列
drop sequence pk2
索引(INDEX)
1.对数据表中的一个或多个列的值进行排序的一种数据库对象。
2.在数据库中,通过索引可以加速表的查询速度
自动创建:当有primary key 或者unique约束时,数据库会自动创建一个索引(肯定会查找是否有重复的,提高速度效率)
手动创建
在emp表的deptno和job的组合上创建索引
create index idx_emp_deptnojob
on emp (deptno,job)
练习
1.使用子查询方式创建west表。
create table west AS
select * from emp
2.快速复制west表中的数据,复制到100w条左右。
3.更新west表中的empno字段为rownum。
4.查询west表empno为800000记录值,记录查询时间。
5.创建索引,执行第四题。记录时间。