其他数据库对象
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;
(创建后便一直存在,不会随着程序关闭而消失)
这篇关于其他数据库对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23JAVA语音识别项目入门教程
- 2024-11-23Java云原生学习:从入门到实践
- 2024-11-22Java创业学习:初学者的全面指南
- 2024-11-22JAVA创业学习:零基础入门到实战应用教程
- 2024-11-22Java创业学习:从零开始的Java编程入门教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22JAVA对接阿里云智能语音服务学习教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22Java副业学习:零基础入门到实战项目
- 2024-11-22Java副业学习:零基础入门指南