Oracle索引和同义词

/*

   索引 相当于一本书的目录

        如果有目录可以方便的定位到 具体的页码

        索引用于数据库 提升查询的速度(数据量很大)

   创建索引

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

      复合索引 使用场景: 如果创建了单列索引 但是查询条件为多个列

              查询速度很低,可以考虑针对多个列创建复合索引

              create  index  索引名 on表名(列,列2)

**/

Image

Image(1)

Image(2)

Image(3)

--创建大数据量表 5000000 条记录

declare

begin

    for i in 1..5000000 loop

      insert into orders values(order_sequecne.nextval,'订单'||order_sequecne.nextval,1000);

    end loop;

    commit;

end;

--测试索引的效率

--1.先查询没有索引的情况 记录耗时

select * from orders where oname='订单2222222'--2.797

--2.建立索引

create index order_index on orders(oname)

--3.再查询同样条件的数据 记录耗时

select * from orders where oname='订单2222222' --0.062

select * from orders where oid = 3333333

--使用oname 和oprice 创建复合索引

create index order_fu_index on orders(oname,oprice)

select * from orders where oname='订单2222222' and oprice = 1000;

/*

  rowid 是oracle数据库 在保存数据库时候生成的真实物理地址 唯一不变

        用于数据库操作记录使用

  rownum 是查询才会生成 根据条件不同 顺序不同会变化

*/

select * from emp;

select rowid, emp.* from emp;

/*

  rowid 是oracle数据库 在保存数据库时候生成的真实物理地址 唯一不变

        用于数据库操作记录使用

  rownum 是查询才会生成 根据条件不同 顺序不同会变化

*/

select * from emp;

select rowid, emp.* from emp;

/*

  同义词 给一个用户的对象 起个别名

         缩短查询语句

         权限控制

   create synonym 同义词名  for 用户.对象

   了解使用

*/

create synonym  emp_syn for scott.emp;

select * from emp_syn

posted on 2017-12-18 16:42  一只小小小兔兔  阅读(861)  评论(0编辑  收藏  举报

导航