Oracle-第13章 序列、索引、同义词
13.1 序列
序列是数据库中一种对象,用于生成一串不重复的编号,可以递增或递减。
最简单的序列结构:create sequence seq_cla;
一般一个序列只在一个表格中使用,即每个表格会使用一个序列。
例1:
create sequence seq_stu
minvalue 10000最小值
maxvalue 100000最大值
start with 10000起始值
increment by 1增量/补偿,可以输正数或负数,默认是1
cache 20;批量生成多少序列,使用完后再生成一批,用于序列的创建优化。
例2:
create sequence seq_subject
minvalue 1
maxvalue 100000
start with 100
increment by 1
cache 20;
序列的使用:
序列在使用,可以使用序列的两个伪列:currval,nextval。currval取得序列的当前值,nextval取得序列的下一个值。序列创建,currval是没有值,必须先使用nextval;必须先使用nextval获取下一个值,currval才会拥有数值。
例:
select seq_subject.nextval from dual;
select seq_subject.currval from dual;
select * from cla;
13.2 索引
索引是rowid数据库的一种对象,作用提高数据查询性能。一般针对查询 比较多的列进行创建。有大量重复性的数据的列,不适合创建索引。一个列独立创建索引,也可以同时跟其他列一起创建索引。一般在数据量比较少时,不建议创建索引,在数据量较大时,如果添加索引后,可以明显优化查询性能,这是有效索引。包含大量空值的列不适合创建索引,索引的数据量在2%-4%适合创建索引,索引的缺点会占用空间和降低DML的操作速度。
例:
create bitmap index IDX_MYCLASS_CLANAME on MYCLASS (claname);
13.3 同义词
create [public] synonym 同义词 for [schema.]对象名;把cla表共享给其他用户使用。
例:
create public synonym publiccla for cla;
上一篇: ORACLE 序列,索引,同义词
下一篇: 视图、序列、索引、同义词