ToB企服应用市场:ToB评测及商务社交产业平台

标题: 其他数据库对象 [打印本页]

作者: 王柳    时间: 2022-8-12 01:06
标题: 其他数据库对象
------------恢复内容开始------------
序列(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;
(创建后便一直存在,不会随着程序关闭而消失)
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4