序列与索引

序列

定义:在一张表中,我们需要添加一条记录之后,有对应的主键自动增长(主键自增),这种行为称为序列。

 其他数据库:

 

  sql server :   id int primary key identity(1,1)

my sql :   id int primary key auto_increment

 

 案例:

create sequence myseq

start with  1                              --初始值

increment by  1                  –增长多少

minvalue   1                             --最小值

maxvalue 30000                       --最大值

  cycle                                        --表示序列增长到30000后,再循环从1开始,否则nocycle

  nocache                                    --nocache表示不缓冲,【cache10:表示一次产生10个号供你使用,优点:提高效率,缺点:容易产生跳号问题】

  使用:

 

      create table user4(id number primary key,name nvarchar2(32));

insert into user4 values(myseq.next.val,’jack’);

------------------------------

myseq:表示序列的名字,nextval:关键字

序列的细节: 

(1)可以为表的列自动产生  值

(2)  由用户创建数据库对象,并由多个用户共享

system 可以使用scott创建的序列

如果system 使用scott创建的序列,从什么开始增长?

答:接着增长

(3)一般用于主键或唯一列(unique)

(4)可以使用序列名.currval 来查看当前的序号(* 必须先使用 .nextval)

select myseq.currval from dual;

索引

 索引的分类:

(1)单列索引

create index 索引名 on 表名(列名);

(2)复合索引

create index 索引名 on 表名(列名1,列名2);

索引的应用场合:

(1)在大表建立索引才有意义。

(2)在where子句或是连接条件上经常引用的列上建立索引。

(3)索引的层次不要超过4层。

(4)在逻辑型字段上(男/女),或者固定的列上不要建立索引。

索引的缺点:

  (1)建立索引会增加表的大小(1.2倍)。

  (2)索引会影响 数据的插入,修改,删除的效率

时间: 2024-10-13 13:20:12

序列与索引的相关文章

oracle sql 基础(五):数据定义语言(创建和管理序列、索引、同义词)

许多应用程序要求使用唯一的数字作为主键的值,你即可以在应用程序中构建代码来处理这种需求,也可以用一个序列来产生唯一的数字.如果你想要增进某些查询的性能,你应该考虑创建一个索引,你也可以用索引在列或列的集合上强制唯一性.你可以用同义词为对象提供可替代的名字.下面我们来介绍序列.索引和同义词三个数据库对象.       一.创建和管理序列 序列是用户创建的数据库对象,可以被多个用户共享. 序列的一个典型的用途是创建一个主键的值,它对于每一行必须是唯一的.序列由一个Oracle内部程序产生并增加或减少

JAVA-Unit05: 视图、序列、索引 、 约束

Unit05: 视图.序列.索引 . 约束 视图 数据库对象之一 视图在SQL语句中体现的角色与表相同, 但它并非一张真实存在的表,它对应的 是一个查询语句的结果集. 创建一个查看10号部门员工信息的视图: CREATE VIEW v_emp_dept10 AS SELECT ename,sal,job,deptno FROM emp WHERE deptno=10 DESC v_emp_dept10 SELECT * FROM v_emp_dept10 修改视图就是替换该视图对应的子查询. 使

Oracle序列和索引

序列和索引 一.序列 1.序列的概念: 序列(Sequence)是用来生成连续的整数数据的对象.它常常用来作为主键的增长列,可以升序,也可以降序. 2.创建序列: 语法:创建序列                                              语法解析: CREATE SEQUENCE sequence_name [STRAT WITH num] START WITH:从某一个整数开始,升序默认为1,降序默认为-1. [INCREMENT BY increment] I

东软实习之数据库(12)——序列、索引、同义词

#序列 序列的概念 序列是一种用于产生唯一数字列值的数据库对象,一般使用序列自动地生成主码值或唯一键值,序列可以是升序或降序. 序列特点: 可以自动产生唯一数值; 可被多个用户共享: 典型应用是生成主键值,用于标识记录的唯一性: 使用缓存加速序列的访问速度. #创建序列语法 创建序列,必须有CREATE SEQUENCE或CREATE ANY SEQUENCE权限.  序列被创建后,可以通过查询数据字典视图USER_SEQUENCES查看序列信息. 创建序列 sequence 序列产生器的名称

数据库对象(视图,序列,索引,同义词)【weber出品必属精品】

视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授权成功. SQL> create view v1 as select empno,ename,job,mgr from emp; 视图已创建. SQL> select * from v1; EMPNO ENAME JOB MGR ----- ------ --------- ----- 7369

数据库中的视图、序列及索引

一.视图 语法:create view 视图名称 as 子查询 例:创建一视图,包含全部的20部门的雇员信息(雇员编号,姓名,工作,雇佣日期) create view emp20 as select empno,ename,job,hiredate from emp wheredeptno = 20; 删除视图:drop view 视图名称 替换视图:create or replact 视图名称 as 子查询 更换视图时不需要先执行删除操作,系统会为用户自动删除及重建 create or rep

Oracle:其他数据对象(序列,索引,同义词)

1.序列(sequence) 序列:可供多个用户来产生唯一数值的数据库对象集合 自动提供唯一数值 共享对象 主要用于主键自增 将序列值装入内存可以提高访问效率 创建: CREATE SEQUENCE sequence increment by n start with n maxvalue n | nomaxvalue minvalue n | no maxvalue cycle | nocycle cache | nocache 查询序列: 查询数据字典视图 USER_SEQUENCES 获取

oracle中的视图、序列、索引

相关概念理解: 表:基本的数据存储集合,由列和行组成 视图:从表中抽出逻辑上相关的数据集合 序列:提供有规律的数值 索引:建立索引查询效率更高 为什么使用视图:控制数据的访问,简化查询,数据的独立性,避免重复访问相同的数据 视图相关的语法:

Oracle基础 12 对象 objects 同义词/序列/试图/索引

--创建同义词create public synonym employees for hr.employees;  --公共同义词需要 create public synonym 权限 表的所有用户授予公共权限  grant select on employees to public; create synonym t1_s for t1;   --私有同义词如果想在不同的环境中通过不同的别名引用同一个表时,要创建私有同义词.  编译同义词 alter synonym t1_s compile;

SQL基础学习笔记(五)—序列、索引、同义词

常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询效率 同义词:给对象起别名 (索引和同义词了解即可) 序列sequences 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 如何和创建序列 CREATE SEQUENCE sequence [INCREMENT BY n] --每次增长的数值 [START WITH n] --从哪个值开