视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表--Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
--创建视图--
create or replace view v_student as select * from student;
--从视图中检索数据--
select * from v_student;
--删除视图--
drop view v_student;
对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据, 多表视图一般用于查询,不会改变基本表的数据。
视图的缺点:缺点:索引不是给你使用的,而是数据库本身使用,索引只是为了让你的查询更加快速而已
索引的创建:
一、在表上创建一个简单的索引。允许使用重复的值:
CREATE INDEX index_name
ON table_name (column_name)
二、在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
注意点:
1、索引不要与表存放在同一个表空间内;
2、一个表的索引不要过多;
3、对于大表而且使用频繁的表,在生产时最好不要去加索引;
如果对大表进行索引,取出的数据大于总量的5%至10%,使用索引扫描会效率下降很多。如果通过索引,取出数据量为总量的50%以上,这个时候还不如全表扫描来得快。
4、数据量小的表,使用不频繁的不要单独另建立索引;
5、在查询条件中几个条件一起使用的,适合建立组合索引,否则不要建立组合索引,当单独引用非第一字段时将发生全表扫描;
在Oracle9i之前,只有在使用到索引的前导索引时才可以使用组合索引
6,在查询的时候,where条件不要对索引的列做处理,而要对后面的条件字段做处理。否则用不上这个列上的索引。