ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

其他数据库对象

2022-06-25 16:34:39  阅读:122  来源: 互联网

标签:索引 对象 创建 数据库 sequence 查询 -- 其他 序列


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

序列(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;

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

 

标签:索引,对象,创建,数据库,sequence,查询,--,其他,序列
来源: https://www.cnblogs.com/qlxz/p/16411872.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有