数据库对象
程序员文章站
2022-06-02 13:03:15
...
一.视图view
1.管理员授权
grant create view to scott
(登录管理员账号 sqlplus sys/123456 as sysdba)
2.视图是一种虚表
视图建立在已有表的基础上,视图赖以建立的表称为基表。
将视图理解为存储起来的select语句,简化复杂查询。
create or replace view empinfoview
as
select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname
from emp e, dept d
where e.deptno=d.deptno
with read only; //只读视图
with check option; //只能插入视图中显示的到的数据
视图已经存在就替换,否则创建。
二.序列sequence
1.
create sequence myseq;
create table testseq
(tid number,
tname varchar2(20));
insert into testseq values(myseq.nextval,'aaa');
2.序列在下列情况下出现裂缝
回滚
系统异常
多个表同时使用一个序列
三.索引 index(目录)
生成执行计划
explain plan for select * from emp where deptno=10;
查看执行计划
select * from table(dbms_xplan.display);
在deptno上建立目录(索引)oracle生成索引表 rowid
create index myindex on emp(deptno);
oracle中索引的类型
1.B树索引(默认)
2.位图索引(矩阵)
1.索引一旦建立,oracle管理系统会对其进行自动维护。
通过指针加速oracle服务器的查询速度。
2.创建索引
自动创建:在定义primary key或unique约束后系统自动在相应的列上创建唯一性索引
手动创建:用户可以在其他列上创建非唯一的索引,以加速查询。
3.以下情况可以创建索引:
3.1列中数据值分布范围很广
3.2列经常在where子句或连接条件中出现
3.3表经常被访问而且数据量很大,访问的数据大概占数据总量的2%到4%。
4.以下情况不要创建索引:
4.1表很小
4.2列不经常在where子句或连接条件中出现
4.3查询的数据大于2%到4%。
4.4表经常更新(指是索引的那一列经常更新)
四.同义词
—为hr.employees起别名—》 同义词
create synonym hremp for hr.employees; (私有别名)
语法:
create [public] synonym synonym for object;
上一篇: 【记录】mysql优化总结
下一篇: 记录mysql优化