zoukankan      html  css  js  c++  java
  • Oracle数据库对象(视图、序列、索引、同义词)

    1、视图

    视图是一张虚表(是表但是没有数据,数据来自于视图所依赖的表)

    (1)先为用户授权:

    管理员登录:

     管理员授权给用户SCOTT:

     (2)视图的创建:

    (3)优点:简化查询,有的时候只需查询视图即可,不需要再写复杂的查询语句来查询数据。

    (4)删除视图:

    drop view 视图名称;

    只是删除视图,不会删除表中的数据。

    2、序列

    序列的功能和auto_increment的功能相同,主要用于提供主键的值,序列输一个数组,存储在内存中,可以提高访问效率。

    (1)序列的定义:

    CREATE SEQUENCE sequence //创建序列名称
    [INCREMENT BY n] //递增的序列值是 n 如果 n 是正数就递增,如果是负数就递减 默认是 1(步长)
    [START WITH n] //开始的值,递增默认是 minvalue 递减是 maxvalue(数组的第一个值)
    [{MAXVALUE n | NOMAXVALUE}] //最大值  
    +
    [{MINVALUE n | NOMINVALUE}] //最小值 [{CYCLE | NOCYCLE}] //循环/不循环 [{CACHE n | NOCACHE}];//分配并存入到内存中

    序列创建完成后,所有的自动增长应该由用户自己处理,存在以下两种操作:

    nextval:序列的下一个内容
    currval:序列的当前值

    创建序列:

     查看数值:

     3、索引

    索引用于加速数据存取的数据对象,合理地使用索引可以大大降低IO次数,从而提高数据访问的性能。

    (1)索引原理:

     将无序的记录通过建立索引变成了有序的索引表,通过索引表查询员工将加速查询。

    (1)未建立索引:

    生成执行计划:

     查看执行计划:

     (2)建立索引

     产看执行计划:

     通过占用CPU的对比可以看出建立索引后占用CPU减少(6<5)

    (3)多级索引

    (4)Oracle中的索引类型

    B树索引(默认)

    位图索引

    (5)不适合建立索引的情况

    表很小

    列经常作为连接条件或WHERE字句中

    查询的数据大于百分之2-4

    表经常被更新

    4、同义词

    就是一个别名(表、视图、触发器)

    (1)查看当前用户:在当前用户下不能访问其他用户下的表

    (2)授予SCOTT用户权限:

    能够访问其它用户下的表:

    (3)为hr用户下的employees表取别名:

     该同义词为私有,只能SCOTT用户使用。

  • 相关阅读:
    lintcode491 回文数
    lintcode514 栅栏染色
    lintcode433 岛屿的个数
    lintcode142 O(1)时间检测2的幂次
    lintcode166 链表倒数第n个节点
    lintcode539 移动零
    lintcode: Check Sum of Square Numbers
    lintcode: Missing String
    lintcode 二叉树的锯齿形层次遍历
    Mysql 游标的定义与使用方式
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12363711.html
Copyright © 2011-2022 走看看