Oracle中synonym和index

笔记:

Oracle-同义词
--通过用户名(模式名).表名
       --授权:grant create synonym to test1(system用户下授权))
     --私有
  create or replace synonym sy_test1 for gcs95.test1;
  --共有
  create public synonym public_sy_test1 for gcs95.test1;
  /*私有:其他用户无法访问*/
  select * from sy_test1;
  /*共有:在所有的授权了的用户中都可以访问*/
        select * from public_sy_test1;      --特点:屏蔽了对象的所有者
索引:
 定义:
  提高查询效率
  
 rowid:数据库表中那一行的物理地址
 1> B树:

  可以说是最终查询的是rowid
    create index stu_index on 表名(列名); 
 2> 反向键索引:
  适用于插入数据操作比较频繁的情况,可以分散对内存的操作;
  查询的时候使用也可以提高查询效率!
  存在形式:
  分配到  最终访问的
  102   -  201
  123  -  321
  
  语法:
   create index index_revers_empno on 表名(列名)revers;
 3> 位图索引:
  在XE版本的oracle上面无法创建!不存储rowid,而是存储rowid的映射!意味着没占用存储空间!
  适用于某列数据值是 有限(指重复出现的值) 的情况下可以使用此列创建位图索引,

表分区:
  

  



代码:

 1 实练:
 2
 3 --同义词 synonym
 4
 5 --通过用户名(模式名).表名
 6
 7 --授权:grant create synonym to test1
 8
 9   /*私有:其他用户无法访问*/
10
11   select * from sy_test1;
12
13 /*共有:在所有的授权了的用户中都可以访问*/
14
15 select * from public_sy_test1;
16
17 --特点:屏蔽了对象的所有者,可以直接访问该表
18
19
20
21 --测试:创建表 create table Depostitor (
22
23           actid number not null,
24
25        cardid number not null,
26
27        lastname varchar2(10) not null,
28
29        firstname varchar2(10) not null,
30
31        address1 varchar2(200) not null,
32
33        address2 varchar2(200),
34
35         address3 varchar2(200),
36
37        blance number(10,2),
38
39       constraint pk_depostor primary key(actid)
40
41 );
42
43 --添加B树索引
44
45   create index cd_index on Depostitor(cardid); drop index cd_index
46
47 --添加反向键索引
48
49    create index index_revers_empno on Depostitor(cardid)revers; --添加测试数据 insert Depostitor values ();
50
51 --select select * from depostitor;
52
53 --cardid查询 select * from depostitor where cardid between 1 and 100000;

synonym练习

时间: 2024-10-10 23:18:53

Oracle中synonym和index的相关文章

Oracle中关于bitmap index的使用问题

您如果熟悉 Oracle 数据库,我想您对 Thomas Kyte 的大名一定不会陌生. Tomas 主持的 asktom.oracle.com 网站享誉 Oracle 界数十年,绝非幸致.最近在图书馆借到这位 Oracle 绝顶高手编著的< Expert Oracle Database Architecture-9i and 10g programming Techniques and Solutions >,翻阅之下,果然盛名无虚,虽然说不上字字珠玑,但作者对 Oracle 架构的理解和实

Oracle中查询时候使index索引失效的限制条件

昨天,由于最近的项目需要进入到测试人员进行测试的阶段.因此,自己搭建好了测试环境---进行了测试.但是,奇怪的事情就发生了.以前在我自己本地开发的环境的时候却没有碰到这个问题. 由于在测试环境执行的查询的时候,不管怎么做,总是会查询失败,并且前台抛出"无法连接,请联系系统管理员"异常,开始,我就不断的跟踪这个异常, 第一:在前台找了好久  也设置了相应的response====timeout时间参数为60s.再去执行,还是查询失败.因此,否定了这个原因. 第二:我使用Debug模式去调

【Oracle】Oracle中的常用操作

一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b.关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动

Oracle中组合索引的使用详解(转)

在Oracle中可以创建组合索引,即同时包含两个或两个以上列的索引.在组合索引的使用方面,Oracle有以下特点: 1. 当使用基于规则的优化器(RBO)时,只有当组合索引的前导列出现在SQL语句的where子句中时,才会使用到该索引: 2. 在使用Oracle9i之前的基于成本的优化器(CBO)时, 只有当组合索引的前导列出现在SQL语句的where子句中时,才可能会使用到该索引,这取决于优化器计算的使用索引的成本和使用全表扫描的成本,Oracle会自动选择成本低的访问路径(请见下面的测试1和

oracle中约束(constraints)是如何影响查询计划的

原文:http://www.oracle.com/technetwork/issue-archive/2009/09-may/o39asktom-096149.html oracle中约束(constraints)是如何影响查询计划的 通常人们认为约束只是和数据完整性有关,没问题.但是约束也被优化器使用来优化执行计划. 优化器会拿以下资源最为输入inputs: 1)待优化的查询 2)所有数据库对象统计 3)系统统计,如果可以获取的话(CPU速度.单块I/O速度等等作为物理硬件的衡量尺度) 4)初

Oracle中的DDL,DML,DCL总结

转自http://blog.csdn.net/w183705952/article/details/7354974 DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据.    DML包括:  SELECT:用于检索数据:        INSERT:用于增加数据到数据库:        UPDATE:用于从数据库中修改现存的数据         DELETE:用于从数据库中删除数据. DDL(Data Definition Language,数据定

Oracle中HINT的30个用法

在SQL语句优化过程中,经常会用到hint, 以下是在SQL优化过程中常见Oracle中"HINT"的30个用法 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消

oracle 中的临时表

临时表: 除了永久表,oracle还可以建立临时表来保存 session私有的data,这些data只存在于一个事务或者session的持续存在的期间内. CREATE GLOBAL TEMPORARY TABLE  语句建立了一个临时表,该临时表可以是事务级别,也可以是session级别. 对于事务级别的临时表,data存在于事务的持续期间.对于session级别的临时,data存在于session的持续期间.临时表中的data 对各自的session的是私有的.每个session 只能看到并

oracle中的insert all into,在mysql中的写法

oracle中的insert all into表示插入多条数据,mysql中可以采用: INSERT INTO表名(字段1,字段2..) values <foreach collection="list" item="item" index="index" separator=","> (#{a},#{b},#{c}) </foreach>