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练习

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。