1、在oracle中,是通过使用sequence来处理自动的增长列
|---可以为表中的列自动产生值
|---有用户创建数据库对象,并可以由多个用户共享
|---一般用于主键的一列
----squence(序列)
---(1)语法:
create sequence seq_test(序列名)
increment by 2 -->设置每次自增2
start with 10 -->设置初始值
minvalue 10 -->设置最小值
maxvalue 100 -->这是最大值
cycle/nocycle -->设置是否循环
cache 10/nocache -->设置基数或缓存值,只对循环队列有限制,如果是循环序列,缓存值必须小于序列的基数
---(2)序列的两个函数
nextval;序列的下一个值(序列第一次使用之前必须用该函数初始化)
currval;序列的当前值
?注解:
使用sequence的情况
|---不包含子查询,snapshot,View的SELECT语句
|---INSERT语句的子查询中;
|---INSERT语句的VAKUES中
|---UPDATE的S
---(3)删除序列
drop sequence sequence_name
2、索引
索引的分类:单列索引和多列索引
|---单例索引
create index 索引名 on 表名(列名)
|---复合索引
create index 索引名 on 表名(列名1,列名2)
创建索引的注意事项:
(1)在大表上创建索引才有意义
(2)在where子句或是连接条件上经常引用的列上创建索引
(3)索引的层次不要超过4层
(4)在逻辑型子段上,或者就是固定的几种列上不要创建索引
索引的缺点
(1)创建索引会增加表的大小1.2倍
(2)索引会影响数据插入,删除,修改的效率
|---可以为表中的列自动产生值
|---有用户创建数据库对象,并可以由多个用户共享
|---一般用于主键的一列
----squence(序列)
---(1)语法:
create sequence seq_test(序列名)
increment by 2 -->设置每次自增2
start with 10 -->设置初始值
minvalue 10 -->设置最小值
maxvalue 100 -->这是最大值
cycle/nocycle -->设置是否循环
cache 10/nocache -->设置基数或缓存值,只对循环队列有限制,如果是循环序列,缓存值必须小于序列的基数
---(2)序列的两个函数
nextval;序列的下一个值(序列第一次使用之前必须用该函数初始化)
currval;序列的当前值
?注解:
使用sequence的情况
|---不包含子查询,snapshot,View的SELECT语句
|---INSERT语句的子查询中;
|---INSERT语句的VAKUES中
|---UPDATE的S
---(3)删除序列
drop sequence sequence_name
2、索引
索引的分类:单列索引和多列索引
|---单例索引
create index 索引名 on 表名(列名)
|---复合索引
create index 索引名 on 表名(列名1,列名2)
创建索引的注意事项:
(1)在大表上创建索引才有意义
(2)在where子句或是连接条件上经常引用的列上创建索引
(3)索引的层次不要超过4层
(4)在逻辑型子段上,或者就是固定的几种列上不要创建索引
索引的缺点
(1)创建索引会增加表的大小1.2倍
(2)索引会影响数据插入,删除,修改的效率