视图和索引

视图

视图的作用

控制数据访问、简化查询、避免重复访问相同的数据

视图的优点

限制用户只能通过视图检索数据,用户看不到底层基表

注意事项

视图可以理解为临时表,会随着真实表的数据变化而自动变化

视图的名字以V_开头,表明是视图;

视图不提高任何效率

视图不占用空间

不是所有的视图都能更改(若改动能对应的原来的表,则可以,否则不可以,比如用了聚合函数的,或者group by而来的)

简单视图

语法

create or replace view 视图名 as select 语句;

create or replace:关键字,创建或者替换(若原来没有,则创建,若已经有,则替换原来的)

范例

SQL> create or replace view v_emp as

2 select empno, ename, job from emp;

视图已创建。

SQL> select * from v_emp;

EMPNO ENAME JOB

---------- -------------------- ------------------

7777 S_HH%GGH CLERK

7369 SMITH CLERK

7499 ALLEN SALESMAN

...

只读视图

语法

create or replace view 视图名

as select 语句

with read only;

范例

SQL> create or replace view v_emp2 as

2 select empno,ename,job from emp

3 with read only;

视图已创建。

SQL> delete from v_emp2;

delete from v_emp2

*

第 1 行出现错误:

ORA-42399: 无法对只读视图执行 DML 操作

视图管理

查看

查看指定用户下的所有视图

SQL> select view_name from dba_views where owner='SCOTT';

VIEW_NAME

------------------------------------------------------------

V_DEPT

V_DEPT_EMP

V_EMP

V_EMP2

dba_views查看数据库下所有视图

owner='SCOTT'指定用户

view_name显示视图的名称

删除

SQL> drop view v_emp;

视图已删除。

SQL> drop view v_emp2;

视图已删除。

SQL> select view_name from dba_views where owner='SCOTT';

VIEW_NAME

------------------------------------------------------------

V_DEPT

V_DEPT_EMP

索引

索引的作用

提高查询效率

索引的注意事项

限制索引的个数。索引只要提升查询速度,但会降低 DML 操作的速度

索引名字唯一,长度不超过32位

索引列可以不止一列(组合索引或者复合索引),但唯一性高的在第一位(即重复数据少)

给表初始化时,须先将索引drop或者unusable(先插入数据,后建索引)

索引名称以IND或者IDX开头;

普通索引

语法

create index 索引名 on 表名(列名);

范例

SQL> create index IND_emp_deptno on emp(deptno);

索引已创建。

唯一索引

语法

create unique index 索引名字 on 表名(列名);

范例

SQL> create unique index ind_indtest_id on ind_test(id);

索引已创建。

管理索引

查看

SQL> select index_name from user_ind_columns where table_name='EMP';

INDEX_NAME

------------------------------------------------------------

UNIQUE_EMP_ENAME

PK_EMP

SQL> select index_name from user_ind_columns where table_name='IND_TEST';

INDEX_NAME

------------------------------------------------------------

IND_INDTEST_ID

删除索引

SQL> drop index IND_emp_deptno;

索引已删除。

SQL> drop index IND_INDTEST_ID;

索引已删除。

oracle视图和索引,oracle视图和索引相关推荐

  1. Oracle总结第二篇【视图、索引、事务、用户权限、批量操作】

    前言 在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了-那么本篇主要总结关于Oralce视图.序列.事务的一些内容- 在数据库中,我们可以把各种的SQL语句分为四大类- (1 ...

  2. Oracle笔记(十三) 视图、同义词、索引

    一.视图 在之前所学习过的所有的SQL语法之中,查询操作是最麻烦的,如果程序开发人员将大量的精力都浪费在查询的编写上,则肯定影响代码的工作进度,所以一个好的数据库设计人员,除了根据业务的操作设计出数据 ...

  3. oracle+事务开始+结束,Oracle事务和对象上集(视图、索引)

    一.Oracle事务 ·事务的含义:事务是业务上的一个逻辑单元,为了保证数据的所有操作要么全部完成,要么全部失败. 1.事务的开始是从一条SQL语句开始,结束于下面的几种情况: 1)显示提交:输入co ...

  4. oracle查看物化视图的索引,oracle – 物化视图中的域索引返回零行

    我有Oracle DB的问题 – 在物化视图上通过CONTAINS()搜索后,域索引返回零行.我看到物化视图充满了数据,我还使用过程ctx_ddl.sync_index()进行域索引同步. 什么有用: ...

  5. Oracle(三):视图、序列、同义词、索引

    一.视图 (一)什么是视图 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的果. ...

  6. 创建数据库_详解Oracle数据库物化视图及创建物化视图索引

    概述 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图S ...

  7. Oracle数据库的视图、物化视图、序列、同义词、索引

    Oracle数据库对象 视图 物化视图 序列 同义词 索引 注:以下数据库对象中, 物化视图.序列.同义词为Oracle数据库特有 视图 含义:视图是一种数据库对象,是从一个或者多个数据表或视图中导出 ...

  8. Oracle 快速入门 同义词序列视图索引

    目录 一.数据库对象 二.同义词synonym 三.序列 四.视图 五.索引 六.综合代码 1.同义词部分: 2.序列: 3.视图和索引 一.数据库对象 1.数据库对象         2.同义词   ...

  9. Oracle数据库(索引、视图、伪列与伪表)

    引用推荐博客.数据库网址 http://www.educity.cn/shujuku/1598602.html(希赛数据库学院) http://blog.csdn.net/kingzone_2008/ ...

  10. oracle数据库(表、视图、索引、事务)

    1.视图与表的区别 1) 表需要占用磁盘空间,视图不用,视图作为数据对象存储在oracle中. 2) 视图不能添加索引,查询视图效率会比添加索引的表慢一点点 3) 视图可以简化复杂查询 4) 视图利于 ...

最新文章

  1. Rocksdb 事务(一): 隔离性的实现
  2. Ubuntu 18.04 配置 国内 apt-get 换源
  3. RocketMQ 消息丢失场景及解决办法
  4. windows远程桌面管理工具下载_vnc viewer 64位下载,3步实现vnc viewer 64位下载
  5. Django1.7开发博客
  6. 【NLP】使用NLP检测和对抗AI假新闻
  7. python操作数据库 封装类
  8. xshell 软件的窗口一直是置顶 调整为不置顶
  9. 前台如何正确接收流信息_如何绕过 Android 8.0 startService 限制?
  10. ORACLE关联查询
  11. 记一篇JAR冲突的问题:Inceptor-Ddriver-4.7.1
  12. SATI下载-安装-使用 一看便懂+spss聚类(附安装包)
  13. ADB 自动补全 及 offline 解决方法
  14. Open_cv中常用函数的原型及参数解释(一)
  15. 阿弥陀佛和他的极乐世界
  16. sis防屏蔽程序_屏蔽机房设计方案知识
  17. 关于EJB,为什么用EJB?为什么不用EJB?
  18. Asp.Net Core 中_ViewStart.cshtml 及_ViewImports.cshtml 的作用
  19. A beginning Flags
  20. Python爬取百度图片搜索结果

热门文章

  1. [ZJOI2012]灾难(建图)
  2. 【小松教你手游开发】【面试必读(编程基础)】几种常用的设计模式介绍
  3. 数据库技大会五周年 技术领袖共聚DTCC
  4. Linux文件系统与文本处理常用命令总结
  5. 25个增强iOS应用程序性能的提示和技巧--高级篇
  6. 面试题51. 数组中的逆序对
  7. 7-4 组从配置-操作
  8. matlab如何判断一个文件夹里面是否包含某个含有部分文件名的文件_如何构建一个成功的AI PoC(概念验证项目)...
  9. css easyui,对比easyui和jwwui css
  10. php时间截取日期,php中肿么获取给定时间中的日期部分