码迷,mamicode.com
首页 > 其他好文 > 详细

索引、视图

时间:2018-03-28 12:27:02      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:相关   作用   查询语句   view   创建   read   空间   运行   index   

  索引                          

索引类似于字典和课本目录,是为了加快对数据的搜索速度而设立的,

有自己专门的存储空间,与表独立存放

索引的创建分为自动创建和手动创建

在创建主键跟唯一的时候,索引会自动创建

  手动创建     

 1 -- 为EMP表的薪资列添加索引
 2 CREATE INDEX INDEX_SAL ON EMP(SAL DESC);
 3 
 4 /*
 5     在用户撤销索引之前不会用到该索引的名字,但是索引在用户查询时会自动 
 6     起作用
 7 */
 8 
 9 -- 为多列创建索引
10 -- 只有在同时查询SAL和NAME的时候,这个索引才会起作用
11 CREATE INDEX INDEX_SAL_NAME ON EMP(SAL, NAME);
12 
13 -- 删除索引
14 DROP INDEX INDEX_SAL;

索引的缺点

  1. 索引是需要单独存放的,占用空间

  2.给某列添加索引后,该列的查询虽然变得更加快了,但是增、删、改会变慢,因为添加索引后,每个数据会有一个相应的位置,如果一旦往这一列里面某个位置添加了数据,那么后面的所有数据的位置都要进行改变,删除,修改亦然。

  视图                   

视图是为了给不同的人呈现不同的数据

1 -- 创建视图
2 CREATE VIEW VI_EMP AS SELECT EMPNO, ENAME JOB, MGR FROM EMP; -- 这里只是存放了视图的定义,也就是放的是这个查询语句,在这条sql语句运行的时候动态的去检索数据的查询语句,并不是存放在视图里对应的数据
3 
4 -- 查看视图
5 SELECT * FROM VI_EMP;
6 
7 -- 向视图中插入一条数据
8 INSERT INTO VI_EMP VILUES(50IT, SHANGHAI);

删除视图

1 DROP VIEW VI_EMP;

视图就是一个虚拟的表,视图中的数据是从事实存在的基本表中来的,当对视图进行更改时,基本表中的数据也会相应的进行更改,那么,有的时候视图只是为了给别人查看到相关的信息,并不希望查看者去更改我的表,那么可以将视图设置为只读模式

 1 -- 只读
 2 -- OR REPLACE   替换掉原来的VI_EMP视图
 3 CREATE OR REPLACE VIEW VI_EMP
 4 AS
 5 SELECT * FROM EMP
 6 WITH READ ONLY;   -- 设置为只读
 7 
 8 
 9 
10 -- 查看数据库所有的视图
11 SELECT VIEW_NAME FROM USER_VIEWS;

 

索引、视图

标签:相关   作用   查询语句   view   创建   read   空间   运行   index   

原文地址:https://www.cnblogs.com/Myarticles/p/8643413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!