其他数据库对象

2022/6/26 2:20:40

本文主要是介绍其他数据库对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

------------恢复内容开始------------

序列(sequences):提供有规律的数值

索引:提高查询的效率

同义词:给对象起别名

-----序列-------------

可供多个用户用来产生唯一数值的数据库对象

1.自动提供唯一的数值

2.共享对象

3.主要用于提供主键值

4.将序列值装入内存可以提高访问效率

创建序列:

create sequence empseq
increment by 10 --每次增长10
start with 10 --从10开始增长
maxvalue 100 --提供的最大值
cycle --需要循环
nocache --不需要缓存

创建完序列后需要先调用序列(查看下一个值nextval)调用完后才能调用currval查看当前值

修改序列的增量,最大值,最小值,循环选项,或是否装入内存

alter sequence

注意事项:必须是序列的拥有者对序列有alter权限

只有将来的序列值会被改变

改变序列的初始值只能通过删除序列之后重建序列的方法实现

-----使用序列---------

将序列值装入内存可提高访问效率

序列在下列情况下出现裂缝:

--回滚

--系统异常

--多个表同时使用用以序列

如果不将序列的值装入内存(nocache),可使用表user_sequences查看序列当前的有效值

select sequence_name,min_value,max_value,increment_by,last_number

from user_sequence;

--------删除序列------------

drop sequence empseq;

-------索引(index)------------------

一种独立于表的模式对象,可以存储在与表不同的磁盘或表空间中

索引被删除或损坏,不会对表产生影响,其影响的只是查询的速度

索引一旦建立,oracle管理系统会对其进行自动维护,而且由oracle管理系统决定何时使用索引,用户不用再查询语句中指定使用哪个索引

再删除一个表时,所有基于该表的索引会自动被删除

通过指针加速oracle服务器的查询速度

通过快速定位数据的方法,减少磁盘I/O

 -----创建索引----------------

自动创建:在定义primary key或unique约束后系统自动在对应的列上创建唯一性索引

手动创建:用户可以在其他列上创建非唯一的索引,以加速查询

create index  索引名

on 表名(列名)

以下情况可以创建索引:

列中的数据值分布范围很广

列经常在where子句或连接条件中出现

表经常被访问而且数据量很大,访问的数据大概占数据总量的2%到4%

什么时候不要创建索引:

表很小

列不经常作为连接条件或出现在where子句中

查询的数据大于2%到4%

表经常更新

---------同义词-----------

create synonym e for employees;

(创建后便一直存在,不会随着程序关闭而消失)

 



这篇关于其他数据库对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程