Oracle数据库:序列/索引/表空间/同义词

1.序列

  1. create sequence 序列名;  --创建序列
  2. drop sequence 序列名; --删除序列
  3. select 序列名.nextval from dual --访问序列的下一个值
  4. select 序列名.currval from dual --访问序列的当前值
  5. insert into  表名(字段) values(序列名.nextval,执行语句);  --添加数据时使用序列
  6. alter sequence 序列名 属性; --修改序列

注:修改限制条件:不能修改序列的初始值。最小值不能大于当前值。最大值不能小于当前值。

序列属性

序号

属性

说明

1

start with 值

初始值,升序默认1,降序默认-1

2

increment by 值

步长,每次增长数

3

maxvalue  值

序列最大值

4

nomaxvalue

最大值的默认选项,升序:1027,降序默认:-1。

5

minvalue 值

序列最小值

6

nominvalue

最小值的默认选项,升序:1,降序默认:-1026

7

cycle

升序达到最大值后,从最小值重新开始。降序序列,达到最小值后,从最大值重新开始

8

nocycle

不重新开始,序列达到最大值或最小值报错,默认创建主键序列时使用

9

cache: 值

根据序列规则预生成一组序列号,预存在缓存中,当使用序列号时,可更快的响应,序列号用完时,生成进行预存,可提高生成序列号的效率,默认会生产20个序列号

10

nocache

不预先在内存中生成序列号

2.索引

  1. select * from dba_indexes --查询全部索引视图
  2. select * from user_indexes --选择性视图。                                                                                                                              注:比较唯一键的数量和表中的行数,就可以判断索引的选择性。选择性越高,索引返回的数据就越少。
  3. 分区索引 ,常用视图:
  4. select * from user_part_tables;--查看用户分区表
  5. select * from user_part_indexes;--查看分用户区索引
  6. select * from 表名 partition(分区名);--查询分区下数据
  7. create 属性 index 索引名 on 表名(列);--创建索引
  8. 属性:①unique:唯一索引,值为唯一;②reverse --反转索引,在表名后面
  9. create index 索引名 on 表名(函数(列));--函数索引
  10. create index 索引名 on 表名(字段)local;--本地索引
  11. partition by range(字段)(  partition 分区名 values less than (进区条件));   --对数据进行范围分区
  12. 会限制索引的操作:

 1)使用不等于操作符,查询语句会倔强的对全表进行扫描,索引不生效。

 2)使用is null或is not null索引不生效,位图索引除外。在建表时,应把需要索引的列设成not null。

 3)如不使用函数索引,那么where子句中对存在索引的列使用函数时,索引不生效。

 4)使用不匹配的数据类型,索引不生效。

注:索引可以提高查询的效率,但会降低增删改的效率。数据多时使用,索引是以rowid物理地址进行快速定位,表的主键和包含唯一约束的列自动创建索引。在经常使用在where子句中的列上面创建索引,加快条件的判断速度。 

3.表空间

  1. create tablespace 空间名称 datafile 文件名 size 内存M  extent management local uniform size 统一内存大小M                                                                                                                                                           --创建表空间  
  2. alter tablespace 分空间名 add datafile 文件名 size xG;   --添加表空间分空间内容
  3. 系统表空间:存放系统数据,名称:system。
  4. 临时表空间:存放数据排序结果,名称:tmep。
  5. 自定义空间:通过 create tablespace命令创建表空间

注:数据都在数据文件中存储,而数据文件大小受操作系统限制,并且过大的数据文件对数据的存取性能影响非常大。一个数据文件只能属于一个表空间。一个表空间可以拥有多个数据文件

4.同义词

  1. 同义词就是数据库对象可以是表,视图序列等
  2. 用户.表名 ;--系统用户操作其他用户信息
  3. create synonym 同义词名 for 用户.表名 --赋予私有同义词
  4. create or replace public synonym 同义词名 for用户.表名   --系统管理员可赋予公共同义词,一般不用public
  5. drop synonym 同义词名; --删除私有同义词
  6. drop public synonym同义词名;  --删除共有同义词
  7. or replace;--如果名称存在,用新的名称代替旧的名称

注:当一个用户赋予同义词后,这个表可以被其他用户以这个表的同义词调用。想要访问一个用户的同义词,要么被系统管理员赋予权限,要么被被这个用户赋予权限。一个同义词是一个数据库对象。

如果一个用户有权限访问其他用户对象时,就可以使用全称来访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值