Orcal中提高查询速率的方法简介

Orcal与MySQL相比真的有太多地方可以吐槽了,但是面对它的市场定位以及市场占有率我们又无法避开它,这真的是一件**很头疼的事情!!!!**接下来介绍一些在Orcal中经常用到的提升查询效率的手段和一些简单的用法(随笔)…

PLSQL简介:

Plsql是对sql得扩展,使sql语言具有过成化编程的特性,比之一般的过程化编程如C等更方便灵活高效,可以存储过程和函数。优势之一可以不通过连接池直接对数据库进行操作,但是不能处理太复杂的业务,维护起来较麻烦。
结构是:
declare
声明变量类型和变量名
Begin
对变量名进行赋值
End
有引用型变量表示单个:(变量名 表名·字段名%type)和记录型变量如一行数据:(变量名 表名%rowtype),可以对这些变量进行查询时赋值,赋值的关键字是into变量名,字符串之间的连接使用 | | 。
If判断:
Declare
变量等于ⅈ(&代表是输入得值 )
Begin
If 条件判断 then 数据输出
elsif 条件判断 then 输出
else 输出
end if;(结束)
end;
***循环:***(重点是退出循环)
Declare
初始变量
Begin
Loop
Exit when 条件判断;
输出;
条件变更;
End loop;
End;

索引:索引是在表的列上创建一个二叉树,增删改慢,需要经常修改的表不建议使用索引

单列索引
:创建索引create index 索引名 on 数据表(对应列)
查询时需要列的“原始值”才能触发索引。

多列索引
Create index 索引名 on 数据表(对应列1,对应列2)

查询时优先对应列1进行查询,如果要触发索引必须包含对应列1中的原始值。并且多个查询列名之间链接使用and,使用or将不会触发。

游标:相当于Java中的集合,可以存放多行记录和多个对象。游标得定义关键字是cursor,使用游标可以方便快速得对集中的一部分数据进行相同的处理,如对一个班级或者一个部门的数据进行处理。

Declare
Cursor 游标名 is 对应得查询语句
Begin
对数据进行遍历处理,处理前需要打开open,使用完需要关闭close
End;
还可以创建带参数得游标,游标名(参数名 表名·字段名%type)

存储过程:存储过程就是提前编译好的plsql,放置在数据库端,可以直接掉用,一般存储固定步骤的业务,语句中的or replace代表可以覆盖修改该名字的过程

Create [or replace] procedure 过程名(相当于方法名)[(参数名 in/out 数据类型)]
As
Begin
程序体;
End;

存储过程和存储函数的区别:都是一段预编译好的plsql语句

存储函数比存储过程多了两个return,前者有返回值,如果存储过程想要有返回值类型要用out类型参数,其本质是在存储过程内部给out类型参数赋值,执行结束厚拿到该类型参数的值。
存储函数有返回值可以自定义函数,存储过程不可以

触发器:制定一个规则,当进行增删改,当满足规则时做增删改,自动触发。

语句级触发器,不包含for each row的触发器,包含for each row的是行级触发器
加这三个关键字是为了使用:old或者:new或者一行记录。
***语句级触发器***例如:
Create or replace trigger t1(创建一个叫t1的触发器)
After/before(在操作之前或者之后)
Insert(进行的什么操作)
On person(对哪个表进行操作)
Declare(声明函数)
Begin
(触发器执行语句)
End;
行级触发器:
Create or replace trigger t2(创建一个叫t2的触发器)
After/before(在操作之前或者之后)
Insert(进行的什么操作)
On person(对哪个表进行操作)
For each row
Declare(声明函数)
Begin
(触发器执行语句对于老的新的数据进行比较判断)

End;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值