一.视图
视图就是封装了一条复杂查询的语句。
---视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表。 ---查询语句创建表 create table emp as select * from scott.emp; select * from emp; ---创建视图【必须有dba权限】 create view v_emp as select ename, job from emp; ---查询视图 select * from v_emp; ---修改视图[不推荐],原表的数据也会跟着改变 update v_emp set job='CLERK' where ename='ALLEN'; commit; ---创建只读视图 create view v_emp1 as select ename, job from emp with read only;
二.索引
索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低 i/o 次数,从而提高数据访问性能。
索引的使用原则:
在大表上建立索引才有意义
在 where子句后面或者是连接条件上的字段建立索引
表中数据修改频率高时不建议建立索引
--索引的概念:索引就是在表的列上构建一个二叉树 ----达到大幅度提高查询效率的目的,但是索引会影响增删改的效率。 ---单列索引 ---创建单列索引 create index idx_ename on emp(ename); ---单列索引触发规则,条件必须是索引列中的原始值。 ---单行函数、模糊查询,都会影响索引的触发。 select * from emp where ename='SCOTT' ---复合索引 ---创建复合索引 create index idx_enamejob on emp(ename, job); ---复合索引中第一列为优先检索列 ---如果要触发复合索引,必须包含有优先检索列中的原始值。 select * from emp where ename='SCOTT' and job='xx';---触发复合索引 select * from emp where ename='SCOTT' or job='xx';---不触发索引 select * from emp where ename='SCOTT';---触发单列索引。